jwilder / nginx-proxy 库的一些问题

2019-04-01 14:34:42 +08:00
 anthoy

jwilder / nginx-proxy

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/550826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX