『Nginx』nginx开启ssl并把http重定向到https的两种方式( 二 )


proxy_pass http://127.0.0.1:8000/:这个作用是把请求反向代理到这个地址上 。
4 开启http并重定向到https 4.1 开启http 开启http很简单 , 直接把listen 80;加到listen 443 ssl;上面去就可以了 。 或者新加一个server配置 , 如下:
server {listen 443 ssl;server_name localhost;ssl_certificate /key-path/localhost.pem;ssl_certificate_key /key-path/localhost.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/;}}server {listen 80;server_name localhost;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/;}} 4.2 重定向到https的两种方式 要把http重定向到https也很简单 , 具体可以使用两种配置来实现 。
第一种方式使用return 301如下:
server {listen 80;server_name localhost;return 301 https://127.0.0.1$request_uri;} 第二种方式使用rewrite如下:
server {listen 80;server_name localhost;rewrite ^(.*)$ https://$host$1 permanent;} 对于return和rewrite的区别 , 可以阅读这篇官方文章:Creating NGINX Rewrite Rules:https://www.nginx.com/blog/creating-nginx-rewrite-rules/


推荐阅读