Итак, у меня есть собственный файл конфигурации для обратного прокси-сервера, и когда я запускаю sudo nginx -t, я получаю
nginx: [emerg] unexpected "m" in /etc/nginx/sites-enabled/<domain>.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed
Ниже приведено содержимое конфигурации или блока, который я пытаюсь передать, прежде чем двигаться дальше.
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>;
}
}
Теоретически строка add_header должна быть строкой 19, если она того стоит.
Мысли
Спасибо.
Дж.Р.
решение1
Вы скопировали строку ssl_ciphers из какого-то редактора, который обрезал ее до размеров, которые влезают в окно. Обратите внимание, что строка в основном заканчивается на ECDHE-RSA-AES256-GCM-S$
– это недопустимое имя шифра. Что еще важнее, это также не закрывающая кавычка.
Это значит, чтовседо и включительно ... Strict-Transport-Security
все еще является частью списка шифров, а цитата перед max-age
не является открывающей цитатой – это закрывающая цитата. По сути, у вас есть:
ssl_ciphers "blah blah blah "max-age=63072000;