ocultar el puerto en ngnix y mostrar el enlace del sitio en su lugar

ocultar el puerto en ngnix y mostrar el enlace del sitio en su lugar

Ya probé las sugerencias mencionadas en:

Ocultar puerto en la redirección de proxy inverso de Nginx

pero no me ayuda.

He creado un proxy inverso nginx para mi aplicación django+gunicorn y está abierto en el puerto 8000. Puedo acceder al nombre de una máquina comohttp://alguna_máquina:8000para ver mi aplicación ejecutándose. He asignado el host local que se ejecuta en esa máquina con el nombre de la máquina usando el proxy inverso de Nginx. Quiero ocultar el puerto y en la URL quisiera algo comohttp://alguna_máquina/zmken lugar dehttp://alguna_máquina:8000/zmk.

Estoy escribiendo el siguiente contenido en mi /etc/nginx/conf.dcarpeta:

upstream zms {    
  ip_hash;    
  server zms:8000;    
}

# portal

server {    
  location /zmk {    
        proxy_pass http://zms/;    
        # proxy_redirect http://some-machine:8000/ http://some-machine/zmk;    
        port_in_redirect off;    
        # autoindex on;            
        proxy_set_header Host $host:$server_port;    
        proxy_set_header X-Real-IP $remote_addr;    
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
        proxy_set_header   X-Forwarded-Proto $scheme;    
    }
  listen 8000;    
  server_name localhost    
  server_name_in_redirect off;    
}

¿No entiendo qué estoy haciendo mal? También intenté copiar el contenido anterior a /etc/nginx/site-availablela carpeta.

Respuesta1

Cambie su listendeclaración a listen 80en su lugar. De esa manera, su servidor nginx escuchará en el puerto 80 y enviará el tráfico al puerto 8000.

información relacionada