Рейтинг:0

Raspberry pi под управлением nginx отвечает 200 для локального хоста, 404 при доступе через имя хоста

флаг cn
dma

Я установил ванильную установку nginx на Raspberry Pi.

конфигурация сервера:

сервер {
    слушать 80;
    слушать [::]:80;

    корень /home/pi/www;

    индекс index.html index.htm;

    имя сервера _;

    место расположения / {
        # вернуть 418, если не найдено. нестандартный, но полезный тест
        try_files $uri $uri/ =418;
    }
}

керлинг через локалхост, получаю ответ. скручивая имя хоста получаю 404. В журнале доступа нет записи для последнего, только первый:

pi@pik3s $ имя хоста
пик3с
pi@pik3s $ curl локальный хост
<h1>ЗДРАВСТВУЙТЕ</h1>
pi@pik3s $ завиток pik3s
404 Страница не найдена
pi@pik3s $ хвост /var/log/nginx/access.log
::1 - - [22/Jun/2021:13:51:32 +0100] "GET / HTTP/1.1" 200 15 "-" "curl/7.64.0"

Я не понимаю, откуда берется 404, поскольку я возвращаю 418, потому что не найден в качестве теста, и 404, похоже, вообще не попадает в nginx.

обновлено: 23 июня 2021 г.: я установил журнал ошибок на «отладка», и это содержимое:

$ кошка /var/log/nginx/error.log
23.06.2021 10:53:00 [отладка] 15325#15325: epoll добавить событие: fd:6 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15325#15325: epoll добавить событие: fd:7 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15326#15326: epoll добавить событие: fd:6 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15326#15326: epoll добавить событие: fd:7 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15328#15328: epoll добавить событие: fd:6 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15328#15328: epoll добавить событие: fd:7 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15330#15330: epoll добавить событие: fd:6 op:1 ev:10000001
23.06.2021 10:53:00 [отладка] 15330#15330: epoll добавить событие: fd:7 op:1 ev:10000001

т. е. похоже, что запрос останавливается до того, как он попадет в nginx.

обновлено: 2021-06-25: проверено завиток -v и локальный хост возвращается Сервер: nginx/1.14.2 пока пик3с возвращает нет Сервер.

Я понял, что /и т.д./хосты разрешает pik3s только в адрес IPv4, поэтому я добавил ::1 как вариант, и сейчас работает (на локальной машине).

Таким образом, это говорит о том, что nginx прослушивает только IPv6.

$ sudo netstat -ltnp | группа :80
TCP 0 0 0.0.0.0:80 0.0.0.0:* ПРОСЛУШИВАТЬ 26923/nginx: мастер 
tcp6 0 0 :::80 :::* ПРОСЛУШИВАТЬ 26923/nginx: мастер 

но слушает.

Michael Hampton avatar
флаг cz
Эта ошибка «404 страница не найдена» возникла не из-за nginx, а из-за веб-приложения, написанного на Go.
флаг cn
dma
больше ничего не прослушивается на порту 80: sudo netstat -ltnp | grep -w ':80' --> tcp6 0 0 :::80 :::* ПРОСЛУШИВАТЬ 5361/nginx: мастер
Nikita Kipriyanov avatar
флаг za
Обратите внимание, 404-е и другие ошибки должны регистрироваться в `error.log`. Что там?
флаг cn
dma
добавлено обновление с журналом ошибок выше

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.