Рейтинг:0

Пустой ответ nginx после перезагрузки

флаг in
Sam

Я купил новый VPS, установил сервер Ubuntu 20.04, nginx, php7.4-fpm, MariaDB через apt.
Я scp загрузил свой (работающий на моем ноутбуке с Ubuntu 20.04) PHP-проект. Я мог видеть страницу «спасибо за использование nginx» как через ssh curl, так и через браузер с моего ноутбука, но когда я попытался использовать dm.mydomain.tldОба вернулись, отметив. Запрос зарегистрирован доступ.log
Право собственности /var/www/дм является корнем, таким же, как /var/www/html. UFW отключен, SELINUX нет.
дм.конф составляет:


сервер {
    слушать 443 ssl; # http2 ;
    слушать [::]:443 ssl; #http2;

    корень /var/www/dm;
        ssl_certificate /etc/ssl/certs/cloudflaresource.pem;
        ssl_certificate_key /etc/ssl/private/cloudflaresource.key;

    # Добавьте index.php в список, если вы используете PHP
    индекс index.php; # index.html index.htm index.nginx-debian.html;

    имя_сервера dm.mydomain.tld;
        включен автоиндекс;
    место расположения / {
        # Сначала пытаемся обслужить запрос как файл, затем
        # в качестве каталога, затем вернуться к отображению 404.
        try_files $uri $uri/ =404;
    }
    расположение ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }
}

вывод curl из консоли ssh:

root@VPS:~# curl -vk https://dm.mydomain.tld
* Попытка 127.0.0.1:443...
* Установлен TCP_NODELAY
* Подключен к dm.mydomain.tld (127.0.0.1), порт 443 (#0)
* ALPN, предлагая h2
* ALPN, предлагающий http/1.1
* успешно установить места проверки сертификата:
* CA-файл: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), рукопожатие TLS, приветствие клиента (1):
* TLSv1.3 (IN), рукопожатие TLS, приветствие сервера (2):
* TLSv1.3 (IN), рукопожатие TLS, зашифрованные расширения (8):
* TLSv1.3 (IN), рукопожатие TLS, сертификат (11):
* TLSv1.3 (IN), рукопожатие TLS, проверка CERT (15):
* TLSv1.3 (IN), рукопожатие TLS, Готово (20):
* TLSv1.3 (OUT), изменение шифрования TLS, изменение спецификации шифрования (1):
* TLSv1.3 (OUT), рукопожатие TLS, Готово (20):
* SSL-соединение с использованием TLSv1.3/TLS_AES_256_GCM_SHA384
* ALPN, сервер принят для использования h2
*Сертификат сервера:
* тема: O=CloudFlare, Inc.; OU=ЦС CloudFlare Origin; CN = Сертификат происхождения CloudFlare
* дата начала: 5 марта 07:31:00 2022 по Гринвичу
* срок действия: 1 марта 07:31:00 20:37 по Гринвичу
* эмитент: C=US; O=CloudFlare, Inc.; OU=Центр сертификации CloudFlare Origin SSL; L=Сан-Франциско; ST = Калифорния
* Результат проверки SSL-сертификата: невозможно получить сертификат локального эмитента (20), все равно продолжается.
* Используя HTTP2, сервер поддерживает многократное использование
* Состояние соединения изменено (HTTP/2 подтверждено)
* Копирование данных HTTP/2 из буфера потока в буфер соединения после обновления: len=0
* Использование идентификатора потока: 1 (простой дескриптор 0x561a6f79e880)
> ПОЛУЧИТЬ/HTTP/2
> Хост: dm.mydomain.tld
> пользовательский агент: curl/7.68.0
> принять: */*
> 
* TLSv1.3 (IN), рукопожатие TLS, билет на выпуск новостей (4):
* TLSv1.3 (IN), рукопожатие TLS, билет на выпуск новостей (4):
* старый идентификатор сеанса SSL устарел, удаление
* Состояние соединения изменено (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200 
< сервер: nginx/1.18.0 (Ubuntu)
<дата: суббота, 05 марта 2022 г., 13:58:11 по Гринвичу
<тип содержимого: текст/html; кодировка = UTF-8
< 
* Соединение №0 с хостом dm.mydomain.tld осталось нетронутым

вы можете видеть, что ответ пуст.

Кроме того, это доступ.log вход.

127.0.0.1 - - [05/Mar/2022:15:44:13 +0100] "GET / HTTP/2.0" 200 0 "-" "curl/7.68.0"

ОБНОВЛЕНИЕ: я создал html-файл и закрутил его, он работал нормально. Но для простого php helloworkd это не работает.

Sam avatar
флаг in
Sam
PHP-fpm запущен и работает. Я могу сказать по systemctl.
Рейтинг:0
флаг in
Sam

Поскольку проблема возникла после перезагрузки, я проверил сокет домена unix. Право собственности /var/run/php/php7.4-fpm.sock (бег все в /вар/выполнить/php/) был www-данные, чего не должно быть, поскольку я этого не менял.
Так что я догадался, что его создал nginx, так как его нет. Просто изменив запись в dm.conf, все заработало:

/var/run/php/php-fpm.sock

Также не забудьте раскомментировать эту строку:

включить фрагменты/fastcgi-php.conf;

Что беспокоило меня, так это то, что об ошибке не сообщается.

Sam avatar
флаг in
Sam
Я также пытался удалить и переустановить php, что, конечно же, не сработало.

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

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