如何從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