Назад | Перейти на главную страницу

Небезопасное соединение: проблема с перенаправлением с www на не-www с https

Я не очень хорошо знаком с конфигурациями серверов, пожалуйста, помогите мне в этом вопросе:

У меня есть сервер Debian8 и SSL-сертификат, SSL-сертификат только для моего домена без www, поэтому я хотел бы перенаправить весь запрос www в не-www, указав ниже код htaccess, который работает для некоторых браузеров, но не работает для некоторых других

В Chrome: Успешное перенаправление http://www.example.com или http://example.com запрос в https://example.com это то, что я хочу для всех браузеров.

В Mozilla: Перенаправление http://www.example.com запрос в https://www.example.com и перестал работать с ошибкой INSECURE CONNECTION. Я думаю, отсюда браузер сначала проверяет SSL-сертификат www и останавливается перед перенаправлением без www.

Ниже мой .htaccess перенаправить www на не www с https, это то, что я пропустил .htaccess? или любое другое решение через DNS или с помощью apache по умолчанию ssl.conf.

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Мой сертификат SSL Certbot и я выполнил это руководство, чтобы установить https://www.youtube.com/watch?v=-TPoGQ4IjDI&t=100s вы могли видеть, что есть только один запрос домена, который не является www, нет возможности установить сертификат SSL для www. Если бы я мог получить сертификат SSL для www, тогда я также смог бы решить проблему.

он работает для некоторых браузеров, но не работает для некоторых других

Он не должен "работать" ни в одном браузере, если вы, возможно, ранее не приняли недействительный сертификат? Вы получите предупреждение браузера о недействительном сертификате перед ваш сайт получает запрос. Подтверждение SSL - это самое первое, что происходит во время запроса, чтобы гарантировать безопасность соединения, невозможно реализовать перенаправление (или что-то еще) до того, как это произойдет.

Единственный способ решить вашу проблему - реализовать сертификат SSL, который охватывает www поддомен.

Это сработало для меня!
В основном в терминах SSL http://www.example.com и http://example.com это разные домены. вам нужно перевыпустить сертификат и добавить http://example.com в качестве основного домена и добавить другой домен http://www.example.com

https://www.namecheap.com/support/knowledgebase/article.aspx/811/70/how-do-i-reissue-my-ssl-certificate

Это должен быть комментарий, но довольно длинный.

Я думаю, отсюда браузер сначала проверяет SSL-сертификат www и останавливается перед перенаправлением без www.

Почему вы так думаете?

Вы просматривали свои журналы, чтобы узнать, что на самом деле запрашивалось?

Наиболее вероятная причина такого поведения заключается в том, что ваш браузер Firefox не может проверить сертификат, но вы проверили конкретное сообщение об ошибке и решили, что оно не имеет отношения к обсуждаемому здесь, поэтому вы не сказали нам, что это такое. И вы пытались указать firefox прямо на https://example.com и не получил ту же ошибку.

Или ты?