301 редикт с HTTPS на HTTPS с Nginx

K
На сайте с 10.01.2015
Offline
110
823

Был сайт на HTTP. Было решено сменить доменное имя и сразу перебрать на защищенный протокол HTTPS. Все работало отлично (редикт был настроен правильно), но Яндекс проиндексировал первый сайт с HTTPS протоколом. Если перейти на старый сайт по протоколу HTTPS, то редикта на новый домен действительно не произойдёт. Я пробовал вносить корректировки в конфигурацию NGINX для сайта, но не помогает. Прикладываю конфигурационный файл:

server {
listen ***.*.248.**:80;
server_name olddomen.com *.olddomen.com www.olddomen.com olddomen.ru www.olddomen.ru www.newdomen.com newdomen.com;
if ( $request_uri !~* ^/robots.txt$ ){rewrite ^(.*)$ https://newdomen.com$1 permanent;}
root /var/www/olddomen.com;

}
server {

# Слушаем 80 порт по IPv4
listen 443 ssl;

# Название сайта (доменное имя)
server_name newdomen.com www.newdomen.com;
ssl_certificate /path/to/new-bundle.crt;
ssl_certificate_key /path/to/new.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
# Индексный файл
index index.html index.php;
# Корневая директория сайта
root /var/www/olddomen.com;

Если кратко, как я понял, просто не работает переадресация со старых доменов по протоколу HTTPS на новый. Прошу знающих людей о помощи. Спасибо!

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Если нужно сделать редирект с http на https средствами nginx, то делаете http хост в котором прописываете только редирект на https.

Не стоит плодить сущности без необходимости
U
На сайте с 09.04.2015
Offline
28
#2

Так в первом server 443 порт тоже нужно слушать

listen ***.*.248.**:443 ssl;

K
На сайте с 10.01.2015
Offline
110
#3
umercomp:
Так в первом server 443 порт тоже нужно слушать
listen ***.*.248.**:443 ssl;

Если я буду слушать 443 порт еще и в первом случае, то nginx будет писать ошибку.

---------- Добавлено 31.07.2015 в 23:59 ----------

Andreyka:
Если нужно сделать редирект с http на https средствами nginx, то делаете http хост в котором прописываете только редирект на https.

Разве так и не сделано?

Andreyka
На сайте с 19.02.2005
Offline
822
#4

Откуда я знаю что вы делаете? Я рассказываю как надо. Читать ваши конфиги да еще и разбираться в них у меня нет времени.

Lupus
На сайте с 02.11.2002
Offline
241
#5
Kepus:
Если я буду слушать 443 порт еще и в первом случае, то nginx будет писать ошибку.

С чего бы это? На старом домене нет сертификата?

There are two types of people in this world: 1. Those who can extrapolate from incomplete data.
K
На сайте с 10.01.2015
Offline
110
#6
Lupus:
С чего бы это? На старом домене нет сертификата?

Увы, но нет. Старый сайт не работал на HTTPS. Яндекс проиндексировал его не так, и теперь мне нужно делать со старого с HTTPS на новый с HTTPS.

Lupus
На сайте с 02.11.2002
Offline
241
#7

Kepus, какую именно ошибку выдает nginx?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий