V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
vvvvww
V2EX  ›  NGINX

准备要做一个技术分享会,主题是 Nginx,大家平时遇到什么坑可以讨论一下吗

  •  
  •   vvvvww · 2022-08-11 13:54:28 +08:00 · 5754 次点击
    这是一个创建于 839 天前的主题,其中的信息可能已经有所发展或是发生改变。

    老大要我开个技术分享 Nginx 。我想偏实战应用一点,不想照着书本或者视频教材念 ppt 。大家在日常开发遇到的 nginx 问题能讨论一下吗? 比如 location 的 proxy_pass 带杠不带杠的问题、后端应用获取实际 remote_addr 的 ip 问题之类的。

    40 条回复    2022-09-12 00:50:02 +08:00
    dzdh
        1
    dzdh  
       2022-08-11 13:59:46 +08:00   ❤️ 3
    普及一下基础 http 的报文参数干啥用的吧。发现有不知道的。

    比如 proxy_set_header host www.baidu.com 或者 fastcgi_param http_host www.baidu.com 。有人真的会不知道这个 host 能改的。
    wdssmq
        2
    wdssmq  
       2022-08-11 14:14:50 +08:00
    反代 github 文件会 301 到原地址能不能破 - -
    wangmn
        3
    wangmn  
       2022-08-11 14:20:48 +08:00   ❤️ 2
    CHENJIAJIE
        4
    CHENJIAJIE  
       2022-08-11 14:20:53 +08:00
    proxy_pass 和 rewrite 的区别
    hhhhhh123
        5
    hhhhhh123  
       2022-08-11 14:22:16 +08:00
    那个 最后能分享出来吗?
    vvvvww
        6
    vvvvww  
    OP
       2022-08-11 14:44:37 +08:00
    @wangmn #3 很实战,赞
    billzhuang
        7
    billzhuang  
       2022-08-11 14:50:00 +08:00
    如何正确的配置 http connection pool
    neoblackcap
        8
    neoblackcap  
       2022-08-11 14:50:06 +08:00   ❤️ 2
    nginx 如果要讲深的话就是往 openresty 那边的方向讲,一般都是要牵涉到开发的。
    讲浅的就是各种常用配置参数呗
    当然了,建议讲讲日常开发或者部署会用到的常用技巧就好了。或者如何使用 nginx 快速假设起开发环境
    yiqiao
        9
    yiqiao  
       2022-08-11 14:50:17 +08:00
    照着书本和视频教程也挺好的,
    掌握核心才是最重要的。
    nmap
        10
    nmap  
       2022-08-11 14:59:46 +08:00   ❤️ 1
    按场景来讲大家才有兴趣,不要拘泥于细节
    hankai17
        11
    hankai17  
       2022-08-11 15:13:14 +08:00
    现在遇到的问题: nginx 做 POST 代理 必须等整个文件上传完整后 才开始向后端转发
    能否配置成 边上传边转发
    isno
        12
    isno  
       2022-08-11 15:23:54 +08:00   ❤️ 1
    这样讲:
    LB 路由转发 -> 7 层 NGINX,(聊聊 HTTP HTTPS 的性能配置) -> 再说说 OpenResty ,讲讲让 B 站损失几亿的 lua 弱变量问题。 再讲讲 Kong 微服务网关。 两三个小时结束了。

    我的公众号:只讲了 HTTPS ,参考一下?

    https://mp.weixin.qq.com/s?__biz=MzkyNTMyODc2Mw==&mid=2247483851&idx=1&sn=35f30bd140187eeb3dda92c8f187a91e&chksm=c1c975dff6befcc9def429e70cb0e60581004ce395738965c163bc05e6be7d5329242a33f511&token=760751116&lang=zh_CN#rd
    Angzk3348
        13
    Angzk3348  
       2022-08-11 15:47:32 +08:00
    Nginx 强制跳转 https 接口的 POST 请求变成 GET 引发 405 错误

    https://blog.imdst.com/nginxqiang-zhi-tiao-zhuan-https-jie-kou-de-postqing-qiu-bian-cheng-get/
    dzdh
        14
    dzdh  
       2022-08-11 15:56:08 +08:00
    @hankai17 #11

    stream ?
    masterclock
        15
    masterclock  
       2022-08-11 16:04:55 +08:00   ❤️ 2
    模式里面什么时候加结尾的 /, 什么时候不加
    proxy_pass 最后的 / 怎么加?
    proxy_pass 用文本、变量、upstream 的时候,/ 怎么加?
    chenjian026
        16
    chenjian026  
       2022-08-11 16:08:23 +08:00
    很赞的 topic
    yulgang
        17
    yulgang  
       2022-08-11 16:31:01 +08:00
    有录屏分享不?
    vvvvww
        18
    vvvvww  
    OP
       2022-08-11 16:50:02 +08:00   ❤️ 1
    @yulgang #17 不好意思哈,到时可能会在公司拿内部的案例讲,可能不方便
    salmon5
        19
    salmon5  
       2022-08-11 17:22:18 +08:00
    可以分享下 nginx 源码
    hankai17
        20
    hankai17  
       2022-08-11 17:39:06 +08:00
    @dzdh 得过 http 模块 不能用 stream
    iyaozhen
        21
    iyaozhen  
       2022-08-11 18:04:32 +08:00
    Nginx+Tomcat 偶现 502 分析
    https://iyaozhen.com/nginx-tomcat-502-and-proxy_next_upstream.html

    主要是 502 、504 排查问题,之前维护过 nginx ,啥问题都找你,明明是业务自己挂了
    Judoon
        22
    Judoon  
       2022-08-11 18:13:33 +08:00
    @Angzk3348 你的学习不够深入啊,永久和临时,301 和 302 。308 和 307 。

    308/307 相比较 301/302 的差别是不会修改请求方式( POST 到 GET
    xhxhx
        23
    xhxhx  
       2022-08-11 20:30:16 +08:00
    害,还以为要在 V2EX 里开个分享呢 ......
    rrfeng
        24
    rrfeng  
       2022-08-11 20:49:24 +08:00
    @hankai17
    proxy_request_buffering
    beginor
        25
    beginor  
       2022-08-12 00:02:02 +08:00 via Android
    nginx js modules
    dayeye2006199
        26
    dayeye2006199  
       2022-08-12 01:25:06 +08:00
    不如讲讲 http 通讯原理,和常见的一些特性 -- cache ,cookie 之类的
    37Y37
        27
    37Y37  
       2022-08-12 06:07:41 +08:00 via Android   ❤️ 1
    Nginx 的几个常用配置和技巧 https://blog.ops-coffee.cn/s/jyunn_otq2ntxch0mtcjug

    Nginx 与安全有关的几个配置 https://blog.ops-coffee.cn/s/d6peq_lzcay8pmolqty-gq
    corningsun
        28
    corningsun  
       2022-08-12 07:36:53 +08:00 via iPhone
    nginx 反代双活域名的时候,假如真的发生主备切换,域名映射的 ip 并不会自动切换,需要 reload nginx 才能生效。
    learningman
        29
    learningman  
       2022-08-12 08:01:21 +08:00 via Android
    @wdssmq follow redirect
    fox0001
        30
    fox0001  
       2022-08-12 08:07:48 +08:00 via Android   ❤️ 1
    proxy_pass 带上请求头的设置
    MEIerer
        31
    MEIerer  
       2022-08-12 08:20:09 +08:00 via Android
    啥时候发,丢个链接吧
    jorneyr
        32
    jorneyr  
       2022-08-12 08:24:00 +08:00
    2 个 Nginx + Keepalived 高可用
    PriestTomb
        33
    PriestTomb  
       2022-08-12 08:52:44 +08:00
    蹲一个分享,谢谢楼主
    heyjei
        34
    heyjei  
       2022-08-12 09:04:18 +08:00   ❤️ 1
    1. 讲讲 location 匹配的优先级问题,大部分的人都知道这个,但是一复杂,大部分人都会错
    2. 其他的一些应用小技巧,比如不同的网站写不同的 log 文件
    3. 最后再秀一下肌肉,用一台配置极低的服务器,hold 住百万的 nginx http 连接(以前 long polling 的时候经常干这种事)。
    darkengine
        35
    darkengine  
       2022-08-12 09:09:50 +08:00   ❤️ 1
    nginx 配置文件里千万不要写非英文注释,之前用过一个定时更新 ssl 证书的脚本会自动更新 nginx 里某个配置文件,结果中文注释导致更新配置文件失败。。。
    frank1256
        36
    frank1256  
       2022-08-12 09:20:26 +08:00   ❤️ 1
    我遇到过的
    1 、nginx 代理 /A 到服务 A ,但是 A 内部需要 403 跳转,redirect 时候会丢了 /A 的前缀。
    2 、nginx 的 location 匹配,主要是正则表达式的使用
    3 、log 日志排查技巧,比如查前访问最多的前 10ip 地址
    4 、ssl 配置
    5 、如何解决前端程序的跨域问题
    6 、上传文件大小控制
    Envov
        37
    Envov  
       2022-08-12 13:46:38 +08:00
    自动颁发免费 https 证书
    yimiaoxiehou
        38
    yimiaoxiehou  
       2022-08-12 14:03:00 +08:00   ❤️ 1
    介绍个例子,在外网服务器使用 nginx 搭建一个反代网站,例如 example.com/google.com 反代到 google ,然后再把返回的所有文件里面 域名相关的 replace 成 example.com/域名,以实现 代理谷歌搜索,且无论搜索结果是否被墙都能自由打开的效果。
    koela
        39
    koela  
       2022-08-12 14:04:21 +08:00
    来学习学习,楼主记得分享一下
    mingtdlb
        40
    mingtdlb  
       2022-09-12 00:50:02 +08:00
    一个月了,所以楼主课讲完了没 分享下喽 哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5495 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.