
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.d
carpeta:
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-available
la carpeta.
Respuesta1
Cambie su listen
declaración a listen 80
en su lugar. De esa manera, su servidor nginx escuchará en el puerto 80 y enviará el tráfico al puerto 8000.