让我直接进入它:我正在尝试将我的基本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工作正常。