龙空技术网

nginx: 某域名http转https访问或者两者都支持

孤单纯净水 116

前言:

当前同学们对“nginx自动跳转https”都比较看重,朋友们都需要剖析一些“nginx自动跳转https”的相关文章。那么小编也在网摘上汇集了一些关于“nginx自动跳转https””的相关文章,希望我们能喜欢,小伙伴们一起来学习一下吧!

我们会有这样的需求,http和https都要支持,但希望http能自动转为https,如何能实现这样的目的,nginx里简单配置就能完成;

具体配置如下:

server {

server_name xxx.xxx.com;

listen 80;

#当http访问时,自动转为https方式访问

rewrite ^/(.*)$ redirect;

}

server {

server_name xxx.xxx.com;

listen 443 ssl ;

ssl_certificate /etc/nginx/cert/xxx.com.crt ;

ssl_certificate_key /etc/nginx/keys/xxxi.com.nophrase.key ;

access_log /data/logs/nginx/access.log ltsv;

error_log /data/logs/nginx/error.log;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr ;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass ;

}

location =/favicon.ico {

access_log off;

}

}

当然也可以实现两种方式都支持,可以这样配置:

server {

server_name xxx.xxx.com;

listen 80 ;

listen 443 ssl ;

ssl_certificate /etc/nginx/cert/xxx.com.crt ;

ssl_certificate_key /etc/nginx/keys/xxxi.com.nophrase.key ;

access_log /data/logs/nginx/access.log ltsv;

error_log /data/logs/nginx/error.log;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr ;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass ;

}

location =/favicon.ico {

access_log off;

}

}

按照这个配置就能达到你的目的,可以参考试试。

标签: #nginx自动跳转https