nginx 404 не найдено, но я получаю хиты в своем access.log. Тогда почему я не вижу свой сайт? - PullRequest
1 голос
/ 21 февраля 2020

Это сложно, потому что это не имеет смысла. На этом же сервере у меня есть другие сайты, которые работают просто отлично. Файл конфигурации для каждого одинаков. Я создал этот новый сайт, example.com, и это конфигурация

server {
    listen 80;
    listen [::]:80;

    server_name example.com;

    access_log /var/log/nginx/example.com/access.log;
    error_log /var/log/nginx/example.com/error.log;

    root /var/www/example.com/default/web;

}

Я оставил минимум в этом файле. Я связал его, но когда я go к браузеру, я получаю 404 Not Found .

Итак, в root я создал файл 1.txt, чтобы проверить его в браузере. Я все еще получил 404.

Я посмотрел в /var/log/nginx/example.com/access.log и /var/log/nginx/example.com/error.log и ничего не было. Затем я посмотрел общий журнал /var/log/nginx/access.log и получил следующее:

[21/Feb/2020:10:36:21 +0000] "GET /1.txt HTTP/1.1" 404 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0"

Итак, запрос поступает на сервер, но не достигает root?

Я убедился, что все разрешения для каталогов 775 и файлов 774, пользователей и групп указаны правильно. Я перезагрузил и также перезапустил nginx. У меня нет идей, я не знаю, что еще не так. Может кто-нибудь дать мне подсказку?

ОБНОВЛЕНИЕ: у меня есть ip сервера и сайта в моем файле hosts, потому что у меня его еще нет в DNS. Когда я делаю example.com, это 404. Когда я ищу https://example.com, я вижу Warning: Potential Security Risk Ahead. Я продолжаю, и затем я вижу один из моих других сайтов на сервере. Так что есть причина, по которой запрос направляется не на example.com, а на другой, хотя я вижу его, когда ищу nginx -T | grep server_name.

...