После удаления SSL на сайте просто белый экран, почему?
Здравствуйте, что произошло: я неудачно установил SSL, сделав два разных сертификата вместо одного на два адреса. Решил, что лучше без него, чем с ним но на костылях. Удалял оба, и у меня просто начала вылазить ошибка при попытке подключения на сайт. Решил, что certbot изменил конфиг nginx, переустановил его и настроил его заново. Теперь вижу такую картину при подключении к сайту - пропал nginx со своим уведомлением, что сервер настроен, а вместо сайта белый пустой экран:
конфиг nginx сейчас:
spoiler
server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.php; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # location ~ .php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/run/php/php8.1-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { # deny all; #} |
server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Note: You should disable gzip for SSL traffic. # See: https://bugs.debian.org/773332 # # Read up on ssl_ciphers to ensure a secure configuration. # See: https://bugs.debian.org/765782 # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /var/www/html; # Add index.php to the list if you are using PHP index index.php; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } # pass PHP scripts to FastCGI server # location ~ .php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/run/php/php8.1-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { # deny all; #}
Сам же nginx говорит, что все в порядке:
Помогите, пожалуйста, что делать в такой ситуации?
Дополнительно:
https://codex.wordpress.org/%D0%A7%D0%90%D0%92%D0%...
/run/php/php8.1-fpm.sock
/var/log/nginx/access.log
/var/log/nginx/error.log
Ответы:
Смотреть логи, включать вывод ошибок php
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос


Белый экран после удаления SSL почти всегда означает, что запрос доходит до PHP/WordPress, но там происходит ошибка, либо nginx передаёт запрос не туда. После certbot часто остаются изменённые server blocks: редиректы на https, ссылки на удалённые сертификаты, неправильный
root, неверныйfastcgi_passили конфликт default_server.Сначала проверьте конфигурацию nginx:
sudo nginx -t sudo systemctl reload nginx sudo tail -n 100 /var/log/nginx/error.log sudo tail -n 100 /var/log/php*-fpm.log
Для WordPress на PHP-FPM минимальная логика должна быть примерно такой:
server { listen 80; server_name example.com www.example.com; root /var/www/example.com/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }
Если белый экран без ошибки, включите WordPress debug в
wp-config.php. Если ошибка только после перехода на HTTPS, проверьтеsiteurlиhomeв базе. Если сертификат удалён, но WordPress или nginx всё ещё редиректит на https, браузер будет ходить по нерабочему адресу.Не переустанавливайте nginx вслепую. Гораздо быстрее найти конкретную ошибку в
nginx -t, логах PHP-FPM и конфиге домена.Ещё проверьте права на файлы и владельца директории сайта. После переустановки или копирования root-папка может принадлежать не тому пользователю, от которого работает PHP-FPM. Тогда PHP не сможет читать файлы или писать кэш, и сайт будет падать белым экраном без понятного вывода в браузер.