如果我在 Nginx 上使用反向代理,我是否需要反向代理和服务器的 SSL 证书?
If I'm using a reverse proxy on Nginx do I need an SSL certificate for the reverse proxy and the server?
所以我开始学习 nginx 和反向代理,我有一个关于 SSL 的问题,问题是我有一个这样的反向代理服务器:
upstream vnoApp {
server vyno.mx:81;
}
server {
listen 80;
server_name app.vno.mx;
location / {
proxy_pass http://vnoApp/;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header Host $host; # pass the host header - http://wiki.nginx.org/HttpProxyModule#proxy_pass
proxy_http_version 1.1; # recommended with keepalive connections - http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
如您所料,这样做的目的是收听 http://app.vno.mx and it 'reverse proxys'' it to http://vyno.mx:81,一切正常,但现在我想为网站添加 SSL 支持,我的问题是是否必须添加一个vyno.mx 和 app.vno.mx(通配符 *vno.mx)的 SSL 证书,或者如果我只是将它添加到 app.vno.mx,它会正常工作,提前感谢大家!
没问题,您只需要面向用户的主机的证书。
附带说明一下,除非情况合理,否则通常不建议将任何内容转发到公开可用的端口和主机。
因此 - 除非有理由不这样做 - 你应该在 vyno.mx
上设置防火墙端口 81 以仅接受来自 app.vno.mx
服务器的连接。
如果它们是同一台服务器,就这样,或者使用 127.0.0.1 可能会更好。
但是,如果它们距离很远,您可能还希望加密内部连接,您可以使用 snakeoil
(自签名)证书来做到这一点。
所以我开始学习 nginx 和反向代理,我有一个关于 SSL 的问题,问题是我有一个这样的反向代理服务器:
upstream vnoApp {
server vyno.mx:81;
}
server {
listen 80;
server_name app.vno.mx;
location / {
proxy_pass http://vnoApp/;
proxy_set_header X-Real-IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
proxy_set_header Host $host; # pass the host header - http://wiki.nginx.org/HttpProxyModule#proxy_pass
proxy_http_version 1.1; # recommended with keepalive connections - http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_http_version
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
如您所料,这样做的目的是收听 http://app.vno.mx and it 'reverse proxys'' it to http://vyno.mx:81,一切正常,但现在我想为网站添加 SSL 支持,我的问题是是否必须添加一个vyno.mx 和 app.vno.mx(通配符 *vno.mx)的 SSL 证书,或者如果我只是将它添加到 app.vno.mx,它会正常工作,提前感谢大家!
没问题,您只需要面向用户的主机的证书。
附带说明一下,除非情况合理,否则通常不建议将任何内容转发到公开可用的端口和主机。
因此 - 除非有理由不这样做 - 你应该在 vyno.mx
上设置防火墙端口 81 以仅接受来自 app.vno.mx
服务器的连接。
如果它们是同一台服务器,就这样,或者使用 127.0.0.1 可能会更好。
但是,如果它们距离很远,您可能还希望加密内部连接,您可以使用 snakeoil
(自签名)证书来做到这一点。