У меня есть сервер узлов с экспрессом, который имеет два маршрута:
app.post('/graphql', …)
->
route просто возвращает фиктивный привет-ответ
app.get('*', …)
->
Маршрут просто возвращает строку приветствия мира
Когда я запускаю это локально и отправляю запрос POST
на http://localhost:3000/graphql/
, я получаю ответ hi от маршрута /graphql
.
Это все работает в контейнере docker с docker-compose.
Проблема теперь в том, когда я запускаю это на сервере digitalocean со следующей конфигурацией nginx:
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 выглядит как
Спасибо за помощь