Nginx 配置访问http默认跳转https

Nginx 可通过多种方式实现 http 跳转 https,以下列出各种方式的实现方法。

1、return 301

这是 Nginx 新版本的写法,推荐使用。在 Nginx 80 监听服务上加一行:### 我的其他文章

return 301 https://$server_name$request_uri; #http跳转https

完整配置如下:

#管理端
server {
    
    
    listen       10003;
    server_name localhost;
    try_files $uri $uri/ /index.html;
    root    /home/source/shop/manager/dist;
}
#管理端转发
server {
    
    
    listen       80;
    server_name admin-xxxxx.xxx.xxx;
    return 301 https://$server_name$request_uri; #http跳转https
}
#管理端https
server {
    
    
     listen 443 ssl;
     server_name admin-xxxxx.xxx.xxx;
     ssl_certificate ../cert/server.crt;
     ssl_certificate_key ../cert/server.key;
     ssl_session_timeout 5m;
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
     ssl_prefer_server_ciphers on;

     location / {
    
    
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header Host $http_host;
         proxy_pass http://localhost:10003;
     }
}

2、rewrite

Nginx 老版本的写法,不推荐使用。将 “#http跳转https” 这行修改为:

rewrite ^(.*)$  https://admin-xxxxx.xxx.xxx permanent;

rewrite ^(.*)$  https://$host$1 permanent;

3、497 状态码

将 “#http跳转https” 这行修改为:

error_page 497  https://$host$uri?$args;

4、meta 刷新

写一个 index.html,内容是 http 向 https 跳转:

index.html
<html>
  <meta http-equiv=”refresh” content=”0; url=https://admin-xxxxx.xxx.xxx/”>
</html>

再修改 Nginx 配置文件,将 “#http跳转https” 这行修改为:

error_page 404 https://admin-xxxxx.xxx.xxx

我的网站

自己做的小商城,感兴趣可以相互讨论技术呀!

字节小柜:http://82.157.190.245/

猜你喜欢

转载自blog.csdn.net/u014641168/article/details/125343047