首页 > 解决方案 > nginx 将 http 重定向到 https 域

问题描述

我的应用程序在 AWS EC2 实例上运行。我有一个使用来自 cloudflare 的 HTTPS 的域名。我已将 cloudflare 的“A 记录”添加到 EC2 IP 地址

我使用的 Nginx 配置中的以下内容

步骤1)

  server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name inzack.com www.inzack.com;

    rewrite ^\/[^\/]+\/(.*) /$1 redirect;

    location / {
            return 301 https://$server_name$request_uri;
    }
 }


server {
    listen 443;
    server_name inzack.com www.inzack.com;
    ssl on;
    ssl_certificate  /home/ubuntu/certificates/inzack.crt;
    ssl_certificate_key  /home/ubuntu/certificates/inzack.key;
    real_ip_header X-Forwarded-For;
    set_real_ip_from 127.0.0.1;

   location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://127.0.0.1:5000;
    }

}

步骤 2) sudo nano /etc/nginx/sites-available/inzack.com

以下是文件中的条目:

   upstream inzack.com {
      server 127.0.0.1:5000;
    }
 
    server {
    listen 80;
    listen [::]:80;
    server_name inzack.com;
      location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass https://inzack.com;
        proxy_redirect on;
           }
       }   

我尝试了所有这些链接:

nginx 上的 http 到 https 重定向

Node.js + Nginx - 现在怎么办?

对此的任何帮助都会非常棒......

谢谢克

标签: nginxhttps

解决方案


无需更改 etc/Nginx/Sites-available/ 文件夹

Step 1) @cloudflare 将页面规则改为 Https

第2步)

  server{
  listen 80;
     server_name inzack.com www.inzack.com;

   location /
     {
       proxy_pass http://127.0.0.1:4000;
     }



   }
    server {

    listen 443;
    server_name inzack.com www.inzack.com;
    ssl on;
    # copy these files from cloudflare save it as .crt and .key
    # cop
    ssl_certificate  /home/ubuntu/certificates/inzack.crt;
    ssl_certificate_key  /home/ubuntu/certificates/inzack.key;
    real_ip_header X-Forwarded-For;
    set_real_ip_from 127.0.0.1;

   location / {
                   proxy_pass http://127.0.0.1:4000;
    }

}

重启 Nginx 服务器


推荐阅读