/ / Nginx proxy nie działa - nginx, amazon-ec2, proxy

Nginx proxy nie działa - nginx, amazon-ec2, proxy

Mam podstawową konfigurację Nginx dla interfejsu API węzła i nie mogę zrozumieć, co robię źle.

Mój plik Nginx wygląda następująco:

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
worker_connections 768;
multi_accept on;
}

http {

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

gzip on;
gzip_disable "msie6";

include /etc/nginx/conf.d/*.conf;
#    include /etc/nginx/sites-enabled/*;
}

a następnie w moim /etc/nginx/conf.d/ mam plik proxy.conf, który wygląda następująco:

server {
listen 80;
server_name [domain_name];

add_header Access-Control-Allow-Origin "*";

location / {
proxy_pass [client_endpoint]
}

location /api {
add_header Allow "POST, GET, PUT";

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;

proxy_pass http://XX.XXX.XXX.XXX:3005;
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 z lokalizacji "/" działa dobrze, alePróba podania proxy do innego portu na serwerze przekracza limit czasu, ponieważ nie może go osiągnąć lub spowoduje błąd 403. Próbowałem użyć adresu IP i localhost. Czy ktoś może mi pomóc? Z góry dziękuję.

EDYTOWAĆ:

The / blok lokalizacji działa i /api lokalizacja nie jest. Próbuję proxy /api lokalizacja do portu 3005 na serwerze. Czy muszę proxy do localhost lub czy muszę proxy do IP / port mojego serwera? Próbowałem obu, więc zakładam, że jest problem z moją składnią. czego mi brakuje? Dzięki.

Odpowiedzi:

0 dla odpowiedzi № 1

Oto, co zwykle robię dla node / nginx:

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

server {
. . .

location /api {
add_header Allow "POST, GET, PUT";

access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
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_pass http://nodejs;
}
}

0 dla odpowiedzi nr 2

Znalazłem problem. Okazało się, że nie jest związany z Nginx. Włączyłem ruch TCP na mojej instancji AWS EC2 i serwer proxy działał.