400 Bad Request The plain HTTP request was sent to HTTPS port
Maxim Dounin
mdounin на mdounin.ru
Ср Июл 6 19:21:21 UTC 2022
Hello!
On Wed, Jul 06, 2022 at 04:44:41AM -0400, milov wrote:
> Maxim Dounin Wrote:
> -------------------------------------------------------
> > У вас явно некорректная конфигурация, использующая "ssl on;".
> > Основное правило при использовании "ssl on;" очень простое: SSL и
> > не-SSL listen-сокеты должны использоваться строго в разных блоках
> > server{}. Любые попытки совместить - чреваты. Ибо если вдруг у
> > вас в сервере по умолчанию для не-SSL listen-сокета окажется "ssl
> > on;", то сокет станет SSL-сокетом.
> >
> > Скорее всего "раньше всегда работало" потому, что в сервера по
> > умолчанию для не-SSL listen-сокетов стояли корректные, а сейчас
> > из-за каких-то минимальных изменений конфига (скажем, кто-то
> > добавил блок server с несколькими listen-сокетами и "ssl on;") -
> > ситуация поменялась.
> >
> > Если по каким-то причинам хочется исправить конфигурацию, не
> > переходя на "listen ... ssl" - показывайте полную конфигурацию,
> > поможем найти источник проблем.
> >
> > Но проще и правильнее сразу переделать всё на использование
> > "listen ... ssl", благо это тривиально: "ssl on;" из конфига
> > убрать, а у listen-сокетов, которые должны использовать SSL,
> > добавить флаг "ssl" (как минимум один раз, например, в сервере по
> > умолчанию, но можно во всех директивах listen).
> >
>
> Вот конфиг, я его постил в самом начале, как видите разнесено по разным
> блокам server{}
>
> server {
> listen 80;
> server_name .local.map;
> rewrite ^(.*) https://$host$1 permanent;
> #return 301 https://$host$request_uri;
> }
>
> server {
> listen 443 ssl http2 default_server;
>
> ssl_certificate /etc/letsencrypt/live/local.map/fullchain.pem;
> ssl_trusted_certificate /etc/letsencrypt/live/local.map/fullchain.pem;
> ssl_certificate_key /etc/letsencrypt/live/local.map/privkey.pem;
>
> server_name .local.map;
> set $root /var/www/msk/data/local.map;
> root $root;
> access_log off; .....
>
> есть второй сайт, у которого конфиг такой-же, только пути разные плюс убрал
> на другой айпи сокет и убрал default_server после чего заработало.
Покажите полную конфигурацию - вывод "nginx -T". Как уже сказано
выше, судя по симптомам у вас в конфиге где-то "ssl on;", и от
этого проблемы.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru