jwilder / nginx-proxy 库的一些问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anthoy
V2EX    NGINX

jwilder / nginx-proxy 库的一些问题

  •  
  •   anthoy 2019-04-01 14:34:42 +08:00 4312 次点击
    这是一个创建于 2460 天前的主题,其中的信息可能已经有所发展或是发生改变。

    jwilder / nginx-proxy

    就是上面这个库,我打算用来做 nginx 的反向代理,看了好几遍 readme 都还是有些问题弄不清楚,使所以想问下有人知道不?

    • 如果我想修改某个子域名下 server 里面配置,我应该怎么修改?是修改nginx.tmpl吗?还是做一些文件的覆盖?
    • 如果我想修改 http 里面的配置又是怎么样?
    • 修改nginx.tmpl的配置应该怎么样修改?这个好像是用 go 写的?没有怎么接触过?不知道有人比较好的学习建议?
    • 是否有比较好的使用例子教程?我 google 了挺久都没有找到

    我是打算通过 docker nginx 利用子域名进行反向代理并且增加 Let's Encrypt 免费证书的使用,如果有更好的建议麻烦说一下,谢谢!

    11 条回复    2020-03-05 14:05:48 +08:00
    anthoy
        1
    anthoy  
    OP
       2019-04-01 14:37:24 +08:00
    顶一下
    sanjusss
        2
    sanjusss  
       2019-04-01 14:50:48 +08:00
    acme 作者改的一个版本,https://github.com/Neilpang/nginx-proxy
    Let's Encrypt + 自动反向代理
    不建议修改默认模板。
    anthoy
        3
    anthoy  
    OP
       2019-04-01 14:55:49 +08:00
    @sanjusss 我看了这个版本的,这个相对于前面只是增加了 ssl 的支持,我上面的问题一样存在的
    sanjusss
        4
    sanjusss  
       2019-04-01 14:58:53 +08:00
    @anthoy
    子域名问题:
    单独起一个 nginx 容器,VIRTUAL_HOST 设置为子域名,修改这个 nginx 容器的设置就行了。
    anthoy
        5
    anthoy  
    OP
       2019-04-01 15:04:45 +08:00
    @sanjusss 这个方法可能可以(不考虑 ssl 的影响和再走一次 nginx ),但是确实那个库有提供我想要的功能的,只是readme 说的不是很清楚,其他资料也很少,如果使用你说的这个的话,相当于中间加一个 nginx,可能某种意义上来说就不是很友好,不过还是很感谢你提供的建议
    slime7
        6
    slime7  
       2019-04-01 16:07:20 +08:00
    nginx-proxy 开好了之后应该是不用动的了,配置子域名 server 的配置是修改对应域名所开的 nginx 的配置。
    anthoy
        7
    anthoy  
    OP
       2019-04-01 16:38:37 +08:00
    @slime7 是手动进 docekr 里面修改还是覆盖 vhost.d 文件夹?
    slime7
        8
    slime7  
       2019-04-01 16:42:49 +08:00
    @anthoy 就跟没用 nginx-proxy 的时候一样改,你映射了 vhost.d 文件夹就直接改完 restart 喽
    evanshh
        9
    evanshh  
       2020-03-05 00:44:36 +08:00
    楼主解决了吗,如果想修改主配置里的 worker_rlimit_nofile,events 这些该怎么操作呢
    anthoy
        10
    anthoy  
    OP
       2020-03-05 09:22:23 +08:00
    @evanshh 你这个直接创建一个 nginx.conf 映射进去容器里面就可以啦,例如我创建 nginx.conf
    ```bash
    user nginx;
    worker_processes auto;

    error_log /var/log/nginx/error.log warn;
    pid /var/run/nginx.pid;


    events {
    worker_connections 1024;
    }


    http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

    log_format access '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" $http_x_forwarded_for '
    'upstream_addr:"$upstream_addr" upstream_status:"$upstream_status" upstream_response_time:"$upstream_response_time" request_time:"$request_time"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    #tcp_nopush on;

    keepalive_timeout 65;

    # 开启 gzip
    gzip on;
    # 启用 gzip 压缩的最小文件,小于设置值的文件将不会压缩
    gzip_min_length 1k;
    # gzip 压缩级别,1-10,数字越大压缩的越好,也越占用 CPU 时间
    gzip_comp_level 6;
    # 进行压缩的文件类型。Javascript 有多种形式。其中的值可以在 mime.types 文件中找到。
    # text/plain text/css application/Javascript application/json application/x-Javascript application/xml text/Javascript 此部分和生成的有重复
    gzip_types application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;
    # 是否在 http header 中添加 Vary: Accept-Encoding,建议开启
    gzip_vary on;
    # 禁用 IE 6 gzip
    gzip_disable "MSIE [1-6]\.";

    # 最大上传大小
    client_max_body_size 250M;

    include /etc/nginx/conf.d/*.conf;
    }
    daemon off;
    ```
    然后在容器启动时映射- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro ;就可以覆盖主配置了
    evanshh
        11
    evanshh  
       2020-03-05 14:05:48 +08:00
    @anthoy 好,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1059 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 23:09 PVG 07:09 LAX 15:09 JFK 18:09
    Do have faith in what you're doing.
    ubao msn 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