所以我开始了解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并反对代理''它到http://vyno.mx:81,一切正常,但现在我想为网站添加SSL支持,我的问题是我是否必须向vyno.mx和app.vno.mx(通配符)添加SSL证书* vno.mx),或者如果我只是将它添加到app.vno.mx它会工作正常,多亏了所有提前!
答案 0 :(得分:1)
没问题,您只需要面向用户主机的证书。
作为旁注,除非情况合理,否则将任何内容转发给公共港口和东道主通常是不明智的。
这样 - 除非有理由不这样做 - 您应该vyno.mx
上的防火墙端口81接受仅来自app.vno.mx
服务器的连接。
如果它们是同一台服务器,那就是它,或者使用127.0.0.1甚至更好。
但是,如果它们相距遥远,您可能也希望加密内部连接,您可以使用snakeoil
(自签名)证书进行加密。