http://www.mydomain.com ==> http://192.168.0.1
但是当我尝试redirect
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(另一台机器)上。
我做错了什么 ?
你没有redirect,对吗? 浏览器继续说www.mydomain.com,它打开一个与你的nginx服务器的连接,然后打开一个连接到它实际上处理请求的机器,那台机器发送它的响应给nginx,nginx把它发送回客户端。
由于nginx是实际与客户交谈的那一个,所以它将需要它自己和客户端之间的SSL连接。 除非您担心内部networking的安全性,否则networking上的内部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; } }