在proxy_pass上的Nginx“无法GET /index.html”到工作域

时间:2017-09-04 16:24:20

标签: node.js nginx elastic-beanstalk

让我直接进入它:我正在尝试将我的基本URL(test.co)代理到另一个域(webflow.test.co)。但是,简单地说,我遇到了麻烦。到目前为止,我已经解决了很多问题,但我再次陷入困境。域名(webflow.test.co)工作正常,所以没有问题...但是当我尝试使用proxy_pass(如下所示)时,我在浏览器中收到“Can not GET /index.html”错误。< / p>

看看Chrome Dev Tools显示重定向到webflow.test.co没有发生(我想,我不是这个devtools领域的专家)并且可能无法检索index.html因为这个原因。

这是我的nginx配置文件(我将除home之外的所有请求路由到我的NodeJS服务器):

upstream nodejs {
    server 127.0.0.1:8081;
    keepalive 256;
}

# Redirect all non-HTTPS to non-WWW HTTPS
server {
    listen 8080;
    server_name "~^(?:www\.)?(.*)$";
    return 301 https://$host$request_uri;
}

# Redirect WWW HTTP to non-WWW HTTP
server {
    listen 4430;
    server_name "~^www\.(.*)$";
    return 301 https://$1$request_uri;
}

server {
    location / {
        proxy_pass https://webflow.test.co;
        proxy_set_header Connection "";
        proxy_http_version 1.1;
        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-Forwarded-Proto https;
    }
}

# Reverse-proxy to http://nodejs
server {
    listen 4430;
    server_name "~^(?!www\.).*$";

    client_max_body_size 50M;

    location ~ /(?<all>.+) {
        proxy_pass http://nodejs;
        proxy_set_header Connection "";
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

非常感谢任何帮助。我会接受第一个有效且明智的答案。非常感谢!

编辑1 :我刚刚在没有使用SSL的情况下进行了测试,响应是一样的 - 无法GET /index.html,而实际的域名webflow.test.co工作正常。

0 个答案:

没有答案