我已经使用 nginx 作为代理来重定向
http://www.mydomain.com ==> http://192.168.0.1
但当我尝试重定向
https://www.mydomain.com ==> https://192.168.0.1
这是行不通的 !
我的nginx.conf:
server {
listen 443;
server_name www.mydomain.com;
location / {
proxy_pass https://192.168.0.1;
}
}
当我去的时候,https://192.168.0.1
它工作正常!nginx 位于 192.168.0.2(另一台机器)。
我做错了什么 ?
答案1
您没有重定向,对吧?浏览器继续说 www.mydomain.com,它打开与您的 nginx 服务器的连接,该服务器又打开与实际处理请求的计算机的连接,该计算机将其响应发送给 nginx,然后 nginx 将其发送回客户端。
由于 nginx 实际上是与客户端通信的,因此它需要自身与客户端之间建立 SSL 连接。除非您担心内部网络安全,否则网络上的内部 SSL 连接并非必需。
您必须使用 nginx ssl 模块。http://wiki.nginx.org/NginxHttpSslModule
server {
server_name www.mydomain.com;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
location / {
proxy_pass https://192.168.0.1;
}
}
您当前的设置可能适用于http://mydomain.com:443因为它是非 SSL 连接。