¿Por qué nginx se queja de la letra m?

¿Por qué nginx se queja de la letra m?

Entonces tengo un archivo de configuración personalizado para el proxy inverso y cuando ejecuto sudo nginx -t obtengo

nginx: [emerg] unexpected "m" in /etc/nginx/sites-enabled/<domain>.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed

A continuación se muestra el contenido de configuración o el bloque que intento aprobar antes de continuar.

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name <server_url>;
    ssl_certificate /config/.acme.sh/your-domain/fullchain.cer;
    ssl_certificate_key /config/.acme.sh/your-domain/your-domain.key;
    access_log /var/log/nginx/<server_url>.access.log;
    error_log /var/log/nginx/<server_url>.error.log;          
    ssl_session_timeout 1d;          
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;         
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-S$         
    ssl_prefer_server_ciphers on;         
    ssl_session_cache shared:SSL:10m;  
    #dh param         
    ssl_dhparam /config/ssl/dhparam.pem;  
    # Enable HTTP Strict-Transport-Security 
    # If you have a subdomain of your site, 
    # be careful to use the 'includeSubdomains' options         
    add_header Strict-Transport-Security "max-age=63072000; 
    includeSubdomains; preload";  
    # XSS Protection for Nginx web server         
    add_header X-Frame-Options DENY;         
    add_header X-XSS-Protection "1; mode=block";         
    add_header X-Content-Type-Options nosniff;         
    ssl_session_cache shared:SSL:10m;         
    add_header X-Robots-Tag none;    
    client_max_body_size 0;   
    proxy_http_version 1.1;   
    proxy_buffering off;   
    proxy_set_header Upgrade $http_upgrade;   
    proxy_set_header Connection "Upgrade";   
    proxy_set_header Host $host;   
    proxy_set_header X-Real-IP $remote_addr;   
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;    
    location / {     
        proxy_pass https://<ip_address>;   
    } 
}   

Teóricamente, la línea add_header sería la línea 19 por lo que vale.

Pensamientos

Gracias.

J.R.

Respuesta1

Copiaste la línea ssl_ciphers de algún editor que la truncó a lo que cabe en la ventana. Observe cómo la línea básicamente termina con ECDHE-RSA-AES256-GCM-S$– ese no es un nombre de cifrado válido. Más importante aún, esa tampoco es una cita final.

Esto significa quetodohasta e incluyendo ... Strict-Transport-Securitysigue siendo parte de la lista de cifrado, y la comilla anterior max-ageno es una comilla de apertura, es una comilla de cierre. Básicamente tienes:

ssl_ciphers "blah blah blah "max-age=63072000;

información relacionada