web-dev-qa-db-fra.com

nginx simple proxy_pass vers localhost ne fonctionne pas

J'essaie d'exécuter un proxy inverse minimaliste et j'ai trouvé ce qui suit:

events {
    worker_connections 4096;
}   

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

"

Cependant, lorsque j'accède à ce serveur, j'obtiens la "page d'accueil de nginx" standard, au lieu de la réponse du serveur fonctionnant sur le port 3000.

Si je ssh vers la machine et que je lance curl http://127.0.0.1:3000/, J'obtiens le résultat souhaité (et finalement j'ai exécuté ce serveur sur le port 80 et cela a bien fonctionné, donc je sais que cela a à voir avec la configuration du proxy inverse).

28
agam

J'ai eu exactement le même problème. Je viens de commenter une ligne dans mon fichier nginx.conf:

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

changé en

 # inclut /etc/nginx/sites-enabled/*;
32
Vijay Boyapati

Expliquer le post de Vijay via une réponse car l'échange ne me laissera pas encore de commentaire.

La mise en commentaire du répertoire activé par les sites est probablement requise car vous utilisez le fichier nginx.conf standard. Vous remarquerez que la ligne est déjà dans la directive http. Si vous utilisez la configuration standard, vous redéfinissez une directive http dans une autre directive http. Vous pouvez également mettre à jour votre fichier de site pour avoir uniquement la directive serveur et non la directive http.

Fichier nginx.conf standard-ish:

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/*;
}

exemple de fichier de site compatible dans les sites activés:

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;
    }
}
9
MonomiDev