准备要做一个技术分享会,主题是 Nginx,大家平时遇到什么坑可以讨论一下吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vvvvww
V2EX    NGINX

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

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

    老大要我开个技术分享 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     Solana     1385 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 16:50 PVG 00:50 LAX 09:50 JFK 12:50
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86