Подозрительные символы в конфиге nginx


42

У меня есть следующий конфиг nginx, например

server {
        listen   80;
        server_name example.com
        allow 127.0.0.0/8;

Когда я перезагружаюсь, он предупреждает меня:

Restarting nginx: nginx: [warn] server name "127.0.0.0/8" has suspicious 
symbols in /etc/nginx/sites-enabled/xxx

Есть идеи?

Ответы:


102

Я предполагаю, что вы пропускаете ;в конце server_nameдирективы, поэтому она интерпретирует allowстроку как часть имени сервера.

server {
        listen   80;
        server_name example.com;
        allow 127.0.0.0/8;

4
Я был здесь раньше ... Я как раз собирался высказать ваш ответ, тогда я понял, что уже сделал!
codenamejames

Спасибо. Я пропустил ;в конце, и это было причиной 404 Not Found nginxв моем браузере и server name "/var/www/mysite" has suspicious symbols in /etc/nginx/sites-available/mysite.conf:8в моем /var/log/nginx/error.log.
Райан

3

Для меня причиной этой ошибки было 'http: //' в server_name.

то есть я изменил это:

server {
    listen <Server name>:80;
    server_name <DNS name> http://localhost:28080;
    ...

К этому:

server {
    listen <Server name>:80;
    server_name <DNS name> localhost:28080;
    ...

2

Простая директива состоит из имени и параметров, разделенных пробелами, и заканчивается точкой с запятой (;).

В вашем случае имя_сервера example.com точка с запятой (;) отсутствует.

server {
        listen   80;
        server_name example.com;
        allow 127.0.0.0/8;
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.