我有一个问题。 我们在ngnix代理后面运行一个wordpress博客,希望终止nginx端的ssl。 我们目前的nginxconfiguration是
upstream admin_nossl { server 192.168.100.36:80; } server { listen 192.168.71.178:443; server_name host.domain.com; ssl on; ssl_certificate /etc/nginx/wild.domain.com.crt; ssl_certificate_key /etc/nginx/wild.domain.com.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_ciphers RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; location / { proxy_read_timeout 2000; proxy_next_upstream error; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_max_temp_file_size 0; proxy_pass http://admin_nossl; break;
这似乎并没有工作。 如果我可以打到https://host.domain.com,但它会迅速切换回从我所能看到的不安全状态。
任何指针?
你将有一个困难的时间,因为WordPress的redirect到所有的地方,其中许多人在.htaccess文件。
如果您在设置中指定了“Wordpress URL”,并且在整个configuration中将对URL的引用指定为https,则可能会起作用。 我怀疑这是你的ngixconfiguration,但是用一个不同的VirtualHost不能运行Wordpress的testing是很容易的。
我不同意华纳。 这应该是完全容易的。 唯一的问题是,Apache的所有请求都来自同一个IP,你已经使用X-real-ip头来解决这个问题。 看起来你没有在你的服务器模块中joinlisten选项。
我有两个服务器块监听server_name一个端口80和一个端口443.我把所有的SSL特定的东西在后者。 这里没有问题。 尝试做同样的事情。