Добавье в корень вашего сайта: robots.txt в котором пропишите директиву: Host: httрs://spostroy.ru
И в Яндекс.Вебмастер выберите: Настройка индексирования -> Переезд сайта и там поставьте галочку "Добавить HTTPS". Через некоторое время сайт с https должен стать главным зеркалом.
Самое главное, что бы при запросе роботом яндекс на http происходил 301 редирект на этуже страницу с https
Опишу как я делал у себя, может вам такая схема тоже подойдёт.
За все внешние http/https соединения у меня отвечает nginx, причем стоит автоматический редирект с http на https. Поэтому конфиги хостов для nginx выглядят вот так:
upstream backend {
server 127.0.0.1:80;
}
server {
listen {внешний IP сервера}:80;
server_name ...;
...
location / {
return 301 httрs://$server_name$request_uri;
}
}
server {
listen {внешний IP сервера}:443 ssl http2;
server_name ...;
...
location / {
include /etc/nginx/proxy_params;
proxy_pass httр://backend/;
}
}
Так как apache2 у меня слушает только локальные соедниения, то мне ненадо на нём настраивать виртуальные хосты с SSL, он у меня слушает только запросы от nginx на порт 80. В ports.conf прописано: Listen 127.0.0.1:80 и все виртуальные хосты выглядят вот так: <VirtualHost 127.0.0.1:80>...</VirtualHost>
Соответственно, теперь внешние запросы принимаются только на порты :80/:443 nginx'ом, а все нестандартные порты :8080/:8083 и т.д. никто не слушает, поэтому и не доступны из вне.
P.S. Ну, и для лучшей безпоасности, через iptables внешние запросы разрешены только на порты :80/:443 Но, и без этого "дефолтные странички апача" нигде не светятся.
Apache2 слушает только локлаьные запросы:
«VirtualHost 127.0.0.1:8080»...«/VirtualHost»
«VirtualHost 127.0.0.1:8083»...«/VirtualHost»
Nginx слушает внешние запросы:
server {
listen *:80;
...
}
server {
listen *:443 ssl http2;
...
}
И при необходимости передает их в apache2:
proxy_pass backend/;
Тогда все запросы site.ru и https://site.ru будет обрабатывать nginx на стандартных портах, и извне site.ru:8080 и https://site.ru:8083 не будут доступны.