在Nginx上使用wordrpess的应用程序无法在HTTPS上使用

问题描述 投票:0回答:1

我正在构建一个带有wordpress网站的React应用。它应该以这种方式工作:

example.com->带我进入我的应用程序example.com/blog->带我去我的wordpress博客。

我有一个使用nginx的EC2,使用反向代理将用户重定向到我的wordpress博客。我的配置是这样的:

  listen 80;
  listen 443 http2 ssl;
  listen [::]:443 http2 ssl;

  server_name example.com;

  root /var/www/react-app/react-app/build;
  index index.html;

  access_log off;
  error_log /var/log/nginx/react-app.error.log;

  location ^~/blog {
   proxy_pass https://54.175.178.245;
   proxy_set_header Host $host;
   #proxy_set_header X-Real-IP $remote_addr;
   #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
  }


  location / {
    try_files $uri /index.html =404;
  }

   location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {

     expires 365d;

  }

  location = /favicon.ico {
    alias /var/www/react-app/react-app/build/favicon.ico;
  }

}

我遇到的问题是,当我使用服务器的IP时它可以正常工作,但是当我访问example.com时,它就无法工作

它不会将我重定向到我的wordpress应用。

值得一提的是,如果我在隐身模式下直接输入example.com/blog,它将可以正常工作。

我做错什么了吗?

编辑:

好的,因此实际上不需要这两行:

listen 443 http2 ssl;
listen [::]:443 http2 ssl;

我正在通过与我的EC2服务器连接的AWS上的ELB管理SSL证书。

现在,我的服务器配置似乎可以正常工作,因为如果使用cURL,它可以正常工作。如果我从cURL请求example.com/blog,它将正常运行。但是它不能在我的浏览器上正常工作。

reactjs wordpress nginx amazon-ec2 reverse-proxy
1个回答
0
投票

如果要反向代理https,则不能在同一块上混合使用80和443

{
    listen 443 http2 ssl;
    listen [::]:443 http2 ssl;

    server_name *.example.com;

    root /var/www/react-app/react-app/build;
    index index.html;

    ssl_...
    ...

    access_log off;
    error_log /var/log/nginx/react-app.error.log;

    location /blog/ { # the end trailing slash is important
        proxy_pass https://54.175.178.245/blog;
        proxy_set_header Host $host;
        #proxy_set_header X-Real-IP $remote_addr;
        #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location / {
      try_files $uri /index.html =404;
    }

     location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
       expires 365d;
    }

    location = /favicon.ico {
      alias /var/www/react-app/react-app/build/favicon.ico;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.