为了网络访问的安全性,https被更多的网站所使用,现在开发App,微信小程序都固定为使用https的访问,让访问更安全,但同时也得处理http请求,使它重定向,方便官网的访问。
nginx 服务器配置https请求时,如何处理http请求重写向到https呢?
方法1:
在配置文件里同时再配置一个server块,处理http的请求,演示如下:
如上为https的演示配置
如上为http重定向的演示配置,监听80端口,让http请求转为https,代码如下:
server{
listen 80;
server_name 你的域名;
rewrite ^(.*)$ https://你的域名$1 permanent; # http转https
}
注:域名修改为自己对应的域名就可以了,记得重启一下nginx服务器,使配置生效
方法2:
在一个server里同时处理http、https的请求,演示如下
看红框里的配置,同时处理了http、https的请求,这种配置更方便,代码如下:
server
{
listen 80;#处理80端口http请求
listen 443 ssl http2;#处理443端口https请求
server_name 你的域名;
index index.php index.html index.htm default.php default.htm default.html;
root /mnt/bdaitest/public;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#HTTP_TO_HTTPS_START
#如下很重要,处理了端口不是443的重定向
if ($server_port !~ 443){
rewrite ^(/.*)$ https://$host$1 permanent;
}
#HTTP_TO_HTTPS_END
ssl_certificate /www/server/panel/v
注:记得重启一下nginx服务器,使配置生效