Los múltiples hosts virtuales basados ​​en nombres de nginx no funcionan

Los múltiples hosts virtuales basados ​​en nombres de nginx no funcionan

Tengo una ventana acoplable nginx ejecutándose con un host virtual que realiza un proxy inverso a una configuración de Django en el mismo puente acoplable (esto funciona). Estoy intentando agregar un segundo host virtual que proporcione contenido html estático desde el propio nginx. Estoy intentando seguir ejemplos en la web, pero no he podido hacerlo funcionar. Espero que alguien pueda detectar lo que estoy haciendo mal.

En los archivos siguientes, cambié los nombres DNS para mantener el anonimato. Tanto abcde.wxyz.org como abcd.defgh.org se resuelven en la misma IP y la resolución de nombres funciona bien. (a) Accesohttps://abcd.defgh.org/(es decir, el proxy) funciona bien. (b) Accesohttp://abcde.wxyz.org/(la página web estática), obtengo un ERR_CONNECTION_REFUSED (c) Accediendohttps://abcde.wxyz.org/Me lleva a (a), lo que tampoco debería suceder.

¿Qué estoy haciendo mal?

Aquí está mi archivo /etc/nginx/nginx.conf:

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

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

    sendfile        on;

    keepalive_timeout  65;

    include /etc/nginx/conf.d/*.conf;
}

En el directorio /etc/nginx/conf.d/ hay un archivo (llamado 'django.conf') que se parece a:

server {
  listen 80;
  server_name abcd.defgh.org;
  access_log  /var/www/logs/abcd.defgh.org.log;
  error_log  /var/www/logs/abcd.defgh.org.log error;
  root /var/www/abcd.defgh.org/public_html;
  index index.html index.htm;

  location / {
    try_files $uri $uri/ /index.html;
  }
}


server {
  listen 80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name abcde.wxyz.org;

  ssl_certificate /etc/ssl/certs/localhost.crt;
  ssl_certificate_key /etc/ssl/private/localhost.key;

  ssl_protocols TLSv1.2 TLSv1.1 TLSv1;


  location / {
    proxy_pass http://web:8000;
    }
}

'web' lo resuelve el servicio de nombres de Docker y funciona.

Parece que no puedo obtener registros de acceso o registros de errores de la ventana acoplable nginx para poder solucionar más problemas.

Respuesta1

Falsa alarma. Resultó ser un problema del entorno acoplable. La ventana acoplable se configuró y solo se le reenvió el puerto 443, y no el puerto 80.

información relacionada