Я не очень хорошо знаком с конфигурациями серверов, пожалуйста, помогите мне в этом вопросе:
У меня есть сервер 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
Это должен быть комментарий, но довольно длинный.
Я думаю, отсюда браузер сначала проверяет SSL-сертификат www и останавливается перед перенаправлением без www.
Почему вы так думаете?
Вы просматривали свои журналы, чтобы узнать, что на самом деле запрашивалось?
Наиболее вероятная причина такого поведения заключается в том, что ваш браузер Firefox не может проверить сертификат, но вы проверили конкретное сообщение об ошибке и решили, что оно не имеет отношения к обсуждаемому здесь, поэтому вы не сказали нам, что это такое. И вы пытались указать firefox прямо на https://example.com и не получил ту же ошибку.
Или ты?