Nginx强制https,HTTP 301重定向到HTTPS地址方法

一、前提条件

此方法仅适用于Nginx WEB服务,推荐安装军哥LNMP或OneinStack,自己编译安装的Nginx也是可以的。

二、修改主机配置文件

军哥LNMP或OneinStack的配置文件在/usr/local/nginx/conf/vhost/youdomain.com.conf,将下面的配置添加到文件中。

server
{
listen 80;
server_name 你的域名.com www.你的域名.com;
rewrite ^(.*) https://www.你的域名.com$1 permanent;
}

上面的配置含义是当我们去使用HTTP请求你的域名.com或www.你的域名.com的时候全部301重定向到https://www.你的域名.com,下面是完整的配置文件供参考:

server {
listen 443;
ssl on;
ssl_certificate /data/ssl/你的域名.com.crt;
ssl_certificate_key /data/ssl/你的域名.com.key;
server_name 你的域名.com www.你的域名.com;
index index.html index.htm index.php;


}

server
{
listen 80;
server_name 你的域名.com www.你的域名.com;
rewrite ^(.*) https://www.你的域名.com$1 permanent;
}
配置修改后别忘记重载一下Nginx:service nginx reload

三、CURL测试

最后我们可以测试下访问HTTP是否会301重定向HTTPS,可以使用CURL测试一下:curl -I www.你的域名.com

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , http , 测试 , nginx , https 配置 nginx 301重定向https、nginx 301重定向、nginx 域名301重定向、nginx 301永久重定向、nginx 全站301重定向,以便于您获取更多的相关知识。