我有一个具有express的节点服务器,该服务器具有两条路由:
app.post('/graphql', …)
->
路由仅返回一个虚拟的hi响应
app.get('*', …)
->
路线仅返回一个世界字符串
当我在本地运行此命令并向POST
发出http://localhost:3000/graphql/
请求时,我从/graphql
路由中收到了hi响应。
所有这些都在带有docker-compose的docker容器中运行。
现在的问题是,当我在具有以下nginx配置的digitalocean服务器上运行它时:
server {
listen 80;
server_name some-ip-address-here;
location / {
proxy_pass http://localhost:3000;
}
location /graphql/ {
proxy_redirect http://localhost:3000/ /graphql/;
proxy_pass_header Server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_connect_timeout 5;
proxy_read_timeout 240;
proxy_intercept_errors on;
proxy_pass http://localhost:3000/;
}
}
当我访问some-ip-address-here
时,我可以看到来自/
路线的响应,但是当我向POST
发出some-ip-address-here:80/graphql/
请求时,我得到了404 not found
并进入nginx日志看起来像
感谢所有帮助