В настоящее время я пытаюсь запустить Nginx в качестве обратного прокси-сервера для небольшого приложения Node и подавать файлы для ядра сайта.
Например,
- / Статически обслуживаемые файлы для root веб-сайта
- / app / Node app, работающего на порту 3000 с Nginx обратным прокси-сервером
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
# Set path for access_logs
access_log /var/log/nginx/access.example.com.log combined;
# Set path for error logs
error_log /var/log/nginx/error.example.com.log notice;
# If set to on, Nginx will issue log messages for every operation
# performed by the rewrite engine at the notice error level
# Default value off
rewrite_log on;
# Settings for main website
location / {
try_files $uri $uri/ =404;
}
# Settings for Node app service
location /app/ {
# Header settings for application behind proxy
proxy_set_header Host $host;
# proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Proxy pass settings
proxy_pass http://127.0.0.1:3000/;
# Proxy redirect settings
proxy_redirect off;
# HTTP version settings
proxy_http_version 1.1;
# Response buffering from proxied server default 1024m
proxy_max_temp_file_size 0;
# Proxy cache bypass define conditions under the response will not be taken from cache
proxy_cache_bypass $http_upgrade;
}
}
На первый взгляд это работает, но Со временем я обнаружил, что на маршруте приложения Node постоянно получают 502 ошибки. Это относится как к самому приложению, так и к активам * stati c, включенным в приложение.
Я пробовал использовать различные варианты вышеуказанного конфига, но ничего, что я не могу найти, похоже, не решает проблему , Я читал о проблемах с SE Linux, но в данный момент этого не происходит на рассматриваемом сервере.
Несколько дополнительных бит информации; Сервер: Ubuntu 18.04.3 Nginx: nginx / 1.17.5
2020/02/09 18:18:07 [error] 8611#8611: *44 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x, server: example.com, request: "GET /app/assets/images/image.png HTTP/1.1", upstream: "http://127.0.0.1:3000/assets/images/image.png", host: "example.com", referrer: "http://example.com/overlay/"
2020/02/09 18:18:08 [error] 8611#8611: *46 connect() failed (111: Connection refused) while connecting to upstream, client: x, server: example.com, request: "GET /app/ HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "example.com"
Кто-нибудь сталкивался с подобными проблемами или знает, что я сделал не так?
Заранее спасибо!