Page 1 of 2
HTTPS берет другой сайт (v2)
Posted: Thu Nov 03, 2016 5:00 am
by darkleech
Добрый день!
К сожалению,
тема закрыта, придется создавать дубли, а удобней всю необходимую информацию для решения проблем в одной теме коллекционировать.
Как решить эту же проблему на Nginx+PHP-FPM?
Вот этот конфиг настроил под свой сервер, но он не работает у меня, может с Nginx+PHP-FPM нужно какое-то другое решение?
Code: Select all
#/etc/nginx/conf.d/your-ip.conf
server {
listen your-ip:80 default;
server_name _;
access_log /dev/null;
error_log /dev/null;
return 444;
}
server {
listen your-ip:443;
server_name _;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.your-domain.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.your-domain.ru.key;
access_log /dev/null;
error_log /dev/null;
return 444;
}
Re: HTTPS берет другой сайт (v2)
Posted: Thu Nov 03, 2016 8:05 am
by skurudo
Можно ссылки в личку или здесь, чтобы посмотреть, как это у вас выглядит?
Re: HTTPS берет другой сайт (v2)
Posted: Thu Nov 03, 2016 10:29 am
by darkleech
skurudo wrote:Можно ссылки в личку или здесь, чтобы посмотреть, как это у вас выглядит?
Спасибо, ситуация вот такая, я уже о ней писал в другой теме, но там на сервере apache2 уcтановлен, там все работает как надо по ману для apache2, а на этом сервере установлен nginx + php5-fpm и не работает что-то.
На серваке всего два сайта, на первом сайте включен https:
https://site1.ru
Второй сайт работает по http:
http://site2.ru
Вот по этой ссылке если перейти, открыть второй сайт по https
https://site2.ru
то откроется содержимое сайта
https://site1.ru
и все это добро индексируется поисковиками, сайт понижается в выдаче, т.к. это дубль сайта на другом домене получается.
Что я сделал:
1) Установил для дефолтного домена server.site.ru под юзером admin ssl
https://monosnap.com/file/jOTZxumctEn5Q ... RLTmwF.png
2) Далее поменял порядок конфигов, как в той теме указано
Code: Select all
include /home/admin/conf/web/httpd.conf
Include /home/user/conf/web/httpd.conf
Include /home/admin/conf/web/shttpd.conf <-----
Include /home/user/conf/web/shttpd.conf
3) Далее в этой папке создал файл с данными сервера
Code: Select all
#/etc/nginx/conf.d/194.194.194.1.conf
server {
listen 194.194.194.1:80 default;
server_name _;
access_log /dev/null;
error_log /dev/null;
return 444;
}
server {
listen 194.194.194.1:443;
server_name _;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.server.site.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.server.site.ru.key;
access_log /dev/null;
error_log /dev/null;
return 444;
}
4) Далее перезагружаю nginx
#service nginx restart
не помогает, делаю так
#service nginx reload
не помогает, делаю так
#service php5-fpm restart
не помогает, второй сайт также открывает по https содержимое первого сайта.
Re: HTTPS берет другой сайт (v2)
Posted: Thu Nov 03, 2016 6:08 pm
by darkleech
Может сделать настройку/галку для домена типа: Доступен по https
Если галка не включена, не открывать сайт по https ни в коме случае.
Re: HTTPS берет другой сайт (v2)
Posted: Fri Nov 04, 2016 6:22 pm
by nabbe
самый простой способ, если сайтов не много, сразу им всем делать самоподписанные сертификаты и 301 редирект. Ну или подключать настоящие бесплатные сертификаты через какой-нибудь
https://www.startssl.com . В нынешнее время ssl только плюсом.
Re: HTTPS берет другой сайт (v2)
Posted: Sat Nov 05, 2016 5:04 am
by darkleech
nabbe wrote:самый простой способ, если сайтов не много, сразу им всем делать самоподписанные сертификаты и 301 редирект. Ну или подключать настоящие бесплатные сертификаты через какой-нибудь
https://www.startssl.com . В нынешнее время ssl только плюсом.
Да, это самое первое, что приходит в голову, но ручная возня получится, сегодня там 5 сайтов, завтра 20, только забыл/пропустил сайт, все, на нем главный домен проиндексируется, ненадежно, нужна какая-то автоматизация, добавил правило в nginx и живешь спокойно.
Re: HTTPS берет другой сайт (v2)
Posted: Sat Nov 05, 2016 9:22 pm
by Stesh
Самое простое - это в шаблон дописать
Code: Select all
if ($host != %domain_idn%) {
rewrite ^(.*) https://%domain_idn%$request_uri? permanent;
}
Не тру конечно, но решает многие вопросы.
Re: HTTPS берет другой сайт (v2)
Posted: Sun Nov 06, 2016 7:14 am
by darkleech
Мужики, спасибо всем за помощь!!!
У меня получилось, но вот так:
Не обратил внимание, на прошлом сервере, где с апачем работает, у админа не FQDN-домен, а IP-адрес вместо домена, а на моем текущем сервере IP-адрес не добавляется, все время пишет ошибку, что такой домен существует, я удалил домен у админа, который FQDN и заново добавил его же с новым SSL
1) Заново пересоздал домен-заглушку (server.site.ru) у админа и сгенерировал новый SSL, после этого тот домен
http://site2.ru перестал отдавать другой сайт по
https://site2.ru, выводится страница 404
2) Заново передвинул подключения конфигов в этом файле в самый верх
Вот так
Code: Select all
include /home/admin/conf/web/nginx.conf;
include /home/admin/conf/web/snginx.conf; <-----
include /home/user/conf/web/nginx.conf;
3) Переходим к папке конфигов заглушки админа, открываем этот конфиг для https
И все его содержимое приводим к такому виду
Code: Select all
server {
listen 194.194.194.1:443;
server_name server.site.ru www.server.site.ru;
root /home/admin/web/server.site.ru/public_html;
index index.php index.html index.htm;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.server.site.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.server.site.ru.key;
access_log /dev/null;
error_log /dev/null;
return 444;
}
4) Перезагружаем nginx
Открываем сайт
https://site2.ru и видим то, что мы хотели, вообще ничего не открывается!

Re: HTTPS берет другой сайт (v2)
Posted: Sun Nov 06, 2016 7:16 am
by darkleech
p.s. Гугл переиндексировал страницы так, как надо, теперь все отлично!
Re: HTTPS берет другой сайт (v2)
Posted: Sun Nov 06, 2016 8:19 am
by Stesh
Есть одно но - теперь посмотри на сайт браузером, который не поддерживает SNI.