Nginx配置http跳转https访问

Nginx强制http跳转https访问有以下几个方法

nginx的rewrite方法

可以把所有的HTTP请求通过rewrite重写到HTTPS上,配置方法:

方法一

1
2
3
4
5
6
7
8
server {
listen 80;
server_name XXXXX.com; //域名
rewrite ^(.*)$ https://XXXXXX.com permanent;
location ~ / {
index index.html index.php index.htm;
}
}

方法二

1
2
3
4
5
6
7
8
server {
listen 80;
server_name XXXXX.com; //域名
return 301 https://$server_name$request_uri;
location ~ / {
index index.html index.php index.htm;
}
}

方法三

1
2
3
4
5
6
7
8
server {
listen 80;
server_name XXXXX.com; //域名
rewrite ^(.*)$ https://$host$1 permanent;
location ~ / {
index index.html index.php index.htm;
}
}

nginx的497状态码

1
497 – normal request was sent to HTTPS

当前站点只允许HTTPS访问,当使用HTTP访问nginx会报497错误码
可以使用error_page把497状态码链接重新定向到HTTPS域名上

1
2
3
4
5
6
7
8
server {
listen 80;
server_name XXXXX.com; //域名
error_page 497 https://$host$uri?$args;
location ~ / {
index index.html index.php index.htm;
}
}

meta刷新作用将http跳转到HTTPS

index.html

1
2
3
<html>
<meta http-equiv="refresh" content="0;url=https://XXXX.com/">
</html>

nginx配置

1
2
3
4
5
6
7
8
9
server {
listen 80;
server_name XXXXX.com; //域名
location ~ / {
root /var/www/test/;
index index.html index.php index.htm;
}
error_page 404 https://xxxx.com
}

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :