如何从https重新注册到http?nginx将HTTPS重定向到HTTP
我有下面的代码,但它似乎并没有工作。
server {
listen 443;
server_name example.com;
rewrite ^(.*) http://example.com$1 permanent;
}
如何从https重新注册到http?nginx将HTTPS重定向到HTTP
我有下面的代码,但它似乎并没有工作。
server {
listen 443;
server_name example.com;
rewrite ^(.*) http://example.com$1 permanent;
}
if ($host = 'foo.com') {
rewrite ^/(.*)$ http://www.foo.com$1 permanent;
}
nginx [陷阱](http://wiki.nginx.org/Pitfalls#Server_Name)和[IfIsEvil](http://wiki.nginx.org/IfIsEvil)。这段代码应该被重构为两个separte'server'块,一个捕获http,另一个捕获https,然后返回301 http:// $ server_name $ request_uri;'。 – 2013-10-29 02:01:10
上面的答案会工作,你需要生成一个自签名的证书(或有一个真实的),并配置nginx的是这样的:
server {
listen *:443;
ssl on;
server_name domain.com;
rewrite ^(.*) http://domain.com$1 permanent;
ssl_certificate /data/certs/domain.crt;
ssl_certificate_key /data/certs/domain.key;
}
请记住,如果是一个自签名证书,浏览器会给你一个难看的警告。
建立关jberger的评论的配置应该工作将是:
server {
listen *:80;
server_name example.com;
}
server {
listen *:443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/example.com.cert;
ssl_certificate_key /etc/ssl/private/example.com.key;
return 301 http://$server_name$request_uri;
}
请你接受的答案吗? – brupm 2014-02-20 01:02:52