2013-03-11 20 views
14

Próbuję uruchomić minimalistyczny reverse-proxy, i wpadł na następujący:nginx prosty proxy_pass localhost nie działa

events { 
    worker_connections 4096; 
} 

http { 
    server { 
     listen 80; 
     location/{ 
      proxy_pass http://127.0.0.1:3000/; 
     } 
    } 
} 

`

Jednak, kiedy dostęp do tego serwera, I otrzymasz standardowe "witamy na stronie nginx", zamiast odpowiedzi z serwera działającego na porcie 3000.

Jeśli ssh do maszyny i uruchomię curl http://127.0.0.1:3000/, otrzymam żądany wynik (i ostatecznie uruchomiłem ten serwer na porcie 80 i działało dobrze, więc kn ow to ma związek z konfiguracją odwrotnego proxy).

+0

Ten sam config działa poprawnie na moim devbox. Wygląda na to, że coś jest nie tak z siecią twojego serwera. Czy próbowałeś ponownie uruchomić swoją sieć? –

+0

czy jesteś pewien, że nie masz innej dyrektywy proxy w innym pliku conf? proxy.conf? – Pixou

+0

Czy usunięcie końcowego ukośnika powoduje cokolwiek? – Bart

Odpowiedz

22

Miałem dokładnie ten sam problem. Właśnie wykomentowane linię w moim nginx.conf pliku:

 
include /etc/nginx/sites-enabled/*; 

zmieniona na

 
#include /etc/nginx/sites-enabled/*; 
+9

To zadziałało dla mnie, dzięki. Co dokładnie wyłącza? – bengem

+0

To, co mówisz, nie działa. Nie mam żadnych "include/etc/nginx/sites-enabled/*;", aby wykomentować gdziekolwiek w folderze/etc/nginx' i konfiguracjach nadal i napotkać problem – Green

+0

@ Green z opóźnieniem, ale po prostu natknąłem się ten problem sam. Plik include w moim przypadku był '/etc/nginx/conf.d/*. Conf' - to zawiera konfigurację domyślnej strony, która była w konflikcie z moją konfiguracją strony. W twoim przypadku może to być problem z samą konfiguracją proxy. – codemonkey

4

postu Explainng Vijay za pośrednictwem odpowiedź od wymiany nie pozwoli mi wypowiedzieć się jeszcze.

Skomentowanie katalogu obsługującego witryny jest prawdopodobnie wymagane, ponieważ używasz standardowego pliku nginx.conf. Zauważysz, że linia jest już w ramach dyrektywy http. Jeśli używasz standardowej konfiguracji, redefiniujesz dyrektywę http w ramach innej dyrektywy http. Możesz również zaktualizować plik witryny, tak aby zawierał tylko dyrektywę serwera, a nie dyrektywę http.

Standard-owski nginx.conf file:

worker_processes 4; 

error_log /var/log/nginx/error.log; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
} 

http { 

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

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

    sendfile on; 
    tcp_nopush on; 
    tcp_nodelay on; 

    keepalive_timeout 65; 

    gzip on; 
    gzip_http_version 1.0; 
    gzip_comp_level 5; 
    gzip_proxied any; 
    gzip_vary off; 
    gzip_types text/plain text/css application/x-javascript text/xml application/xml application/rss+xml application/atom+xml text/javascript application/javascript application/json text/mathml; 
    gzip_min_length 1000; 
    gzip_disable  "MSIE [1-6]\."; 

    server_names_hash_bucket_size 64; 
    types_hash_max_size 2048; 
    types_hash_bucket_size 64; 
    client_max_body_size 1024; 

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

przykład plik compatiable miejscu wewnątrz stron obsługujących:

server { 
    server_name {server name}; 
    listen 80; 
    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 
    location/{ 
     proxy_pass http://example.com:8080; 
     proxy_set_header Host $host; 
    } 
} 
+0

To, co mówisz, nie działa.Nie mam żadnego katalogu 'include/etc/nginx/sites-enabled/*;' w dowolnym miejscu w folderze nginx i napotykam problem – Green

-1

Sprawdzanie link ze stron obsługujących do stron, dostępne może pomóc także . Miałem dowiązanie symboliczne do nikąd i dlatego nginx nigdy nie odczytał konfiguracji. W moim przypadku było

ls -lh /etc/nginx/sites-enabled 
lrwxrwxrwx 1 root root 23 Feb 19 11:11 default -> sites-available/default 

zamiast

ls -lh /etc/nginx/sites-enabled 
lrwxrwxrwx 1 root root 23 Feb 19 11:11 default -> ../sites-available/default 
Powiązane problemy