@kurs0r

Где ошибка в настройке 301-редиректа?

Добрый день.

Суть проблемы вкратце:


Просьба взглянуть и подсказать, где допущена ошибка в настройке редиректов?

Настройки в htaccess:
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+).pozdravunchik.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www.pozdravunchik.ru$ [NC]
RewriteRule ^(.*)$ http://www.pozdravunchik.ru/$1 [NE,R=301,L]

RewriteCond %{SERVER_PORT} 80
RewriteCond %{SERVER_NAME} !^www.pozdravunchik.ru$ [NC]
RewriteRule ^(.*)$ http://www.pozdravunchik.ru/$1 [R=301,L]

RewriteCond %{SERVER_PORT} 443
RewriteCond %{SERVER_NAME} !^www.pozdravunchik.ru$ [NC]
RewriteRule ^(.*)$ https://www.pozdravunchik.ru/$1 [R=301,L]


Настройки переадресации внутри конфигурационного файла в /etc/nginx/ следующие:
server {
	listen 80;
	server_name pozdravunchik.ru;
	
	return 301 https://www.$server_name$request_uri;
}

server {
	listen 80;
	server_name www.pozdravunchik.ru ;
	
	return 301 https://$server_name$request_uri;
}

server {
	listen 443 ssl;
	
	#ssl on;
        ssl_certificate /etc/letsencrypt/live/www.pozdravunchik.ru/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/www.pozdravunchik.ru/privkey.pem; # managed by Certbot
	server_name  pozdravunchik.ru;
	return 301 https://www.$server_name$request_uri;
}

server {
	listen 443 ssl;
	
	#ssl on;
        ssl_certificate /etc/letsencrypt/live/www.pozdravunchik.ru/fullchain.pem; # managed by Certbot
	ssl_certificate_key /etc/letsencrypt/live/www.pozdravunchik.ru/privkey.pem; # managed by Certbot
	
	server_name www.pozdravunchik.ru ;
  • Вопрос задан
  • 21 просмотр
Пригласить эксперта
Ответы на вопрос 1
Сертификат выдан только на www.pozdravunchik.ru, а нужен ещё и на pozdravunchik.ru.
Написано 30 июл.

НЕ забывайте что редирект физически не сможет сработать без сертификата, поскольку в апаче и nginx есть костыль отходящий от RFC TCP/IP
В частности позволяющий вешать несколько сайтов на один и тот же порт и айпи.
В следствие этого разбором какой сайт кому дать занимется непосредственно демон и берет он эту информацию из реффери, смотрит ккой хост запросили и на его основе подставляет конфиг.
НО
HTTPS естественно не отдаст ни 1 байта информации до получения этих ключей. Соответственно до mod_rewrite дело вообще не дойдет)
Так что ключики на все домены должны быть актуальными.
Пусть даже это Letsencrypt
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы