如何配置Nginx,实现http访问重定向到https?

  现在越来越多的网站,当我们输入域名时,会自动重定向到https,我们只需要简单修改下Nginx配置文件/usr/local/nginx/conf/nginx.conf(根据个人的实际存储路径)即可。

1.添加443监听端口server

server {
    listen 443 ssl;
    server_name localhost www.***.com;#域名,如果有多个,可以用空格隔开
    
    ssl_certificate ***.crt;#证书文件,路径相对于/usr/local/nginx/conf目录,也可以直接使用绝对路径
    ssl_certificate_key ***.key;#密钥文件
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on; 

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8000/;
    }
}

2.然后添加80端口监听server,然后可利用以下两种方式进行重定向:

  • 方式1:利用rewrite

    server {
        listen 80;
        server_name localhost www.***.com;
        rewrite ^(.*)$ https://$host$1 permanent;
    }
  • 方式2:利用return 301

    server {
        listen 80;
        server_name localhost www.xxx.com;
        return 301 https://127.0.0.1$request_uri;
    }

接下来通过浏览器访问服务器时,都是以https方式进行访问

posted @ 2021-01-11 13:47  eliwang  阅读(1401)  评论(0)    收藏  举报