Страница 1 из 2
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 15 мар 2018, 22:31
Игорь
Нуждаюсь в помощи (совете, подсказках, а может и действии) при переводе сайта с http:// на https:// (SSL-шифрование).
Сам SSL-сертификат я уже установил, остались небольшие заморочки из-за того, что один из сервисов по проверке ругается на некорректность его установки, но это не виляет на работу. Суть задачи состоит в настройке редиректа, чтобы происходило открытие по
https://. Найти сейчас тех сайтописателей не представляется возможным. С другой стороны сайт довольно простой на php и написан очень, очень давно. Доступ по ftp и всё остальное у меня есть.
С меня

Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 16 мар 2018, 07:11
Bill Humble
Если хостинг виртуальный, в качестве веб-сервера используется Apache и включена поддержка .htaccess, то
https://www.reg.ru/support/hosting-i-se ... p-na-https
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 16 мар 2018, 07:43
BaRsupillamy
А если всё на винде, то ещё проще

я у себя делал такое.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 19 мар 2018, 19:11
Игорь
Именно так ― виртуальный хостинг на Линукс. Именно первым делом попробовал по инструкции из твоей ссылки. Не получилось и пошёл искать варианты и пробовать. В итоге создал тему.
Код: Выбрать все
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Этот код переадресовывает на одну страницу вне зависимости от того куда я хочу попасть. И страница эта типа служебная, либо где-то используется, т.е. по прямому назначению на неё никогда не должно быть ссылки.Код: Выбрать все
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Этот вариант при попытке открыть какую-либо страницу выдаёт Неверное перенаправление на странице.Код: Выбрать все
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Результат аналогичен предыдущему.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 08:31
Bill Humble
Что-то пошло не так. Похоже, понадобятся средства отладки.
Качаем curl
отсюдаВ консоли отдаем команду
Изучаем вывод.
Должен быть редирект 301 (HTTP/1.1 301 Moved Permanently) и правильный урл для перенаправления (Location:
https://имя.сайта/).
Если урл кривой, думаем, почему такое случилось.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 09:41
Игорь
Bill Humble, попробовал эту утилиту в случае без перенаправления в .htaccess. Результат меня удивилил тем, что он очень большой настолько, что часть информации обрезается (видимо мал размер буфера у консоли). Судя по выводимым данным утилита выводит html-код сайта.
Попробовал на других сайтах ― всё нормально выводится.

Куда копать?
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 10:03
Bill Humble
Без перенаправления не вижу смысла смотреть. Будет просто код заглавной страницы.
При желании можно посмотреть только заголовок:
Но без .htaccess там не будет перенаправления.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 12:39
BaRsupillamy
А точно Apache?
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 12:58
Игорь

И в этом случае большое количество html-кода выдаёт. Взял для теста другой домен (заглушка и переадресация), так и там html-код вылазит, правда его там кот наплакал.
Код: Выбрать все
C:\Temp\curl-7.59.0\src>curl -i dungc.by
HTTP/1.1 301 Moved Permanently
Server: nginx/0.8.54
Date: Tue, 20 Mar 2018 09:54:43 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Keep-Alive: timeout=60
Location: http://www.dungs.by
Content-Length: 292
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.dungs.by">here</a>.</p>
<hr>
<address>Apache/2.0.64 Server at dungc.by Port 80</address>
</body></html>

Да, я специально позвонил в техподдержку хостера и уточнил.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 13:04
Bill Humble
Игорь писал(а):Источник цитаты И в этом случае большое количество html-кода выдаёт.
i нужно заглавное. Это важно.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 13:06
Игорь

о как?! Не думал, что регистр имеет значение. Сейчас проверю.
Отправлено спустя 4 минуты 37 секунды:Сделал три прогона:
C:\Temp\curl-7.59.0\src>curl -I teplosar.by
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 20 Mar 2018 10:08:18 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=60
X-Powered-By: PHP/4.4.9
Expires: Wed, 21 Mar 2018 13:08:18 +0300
C:\Temp\curl-7.59.0\src>curl -I
http://teplosar.byHTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 20 Mar 2018 10:08:26 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=60
X-Powered-By: PHP/4.4.9
Expires: Wed, 21 Mar 2018 13:08:26 +0300
C:\Temp\curl-7.59.0\src>curl -I
https://teplosar.bycurl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here:
https://curl.haxx.se/docs/sslcerts.htmlcurl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 13:13
Bill Humble
Перенаправления нет вообще. Файл .htaccess точно лежит в корневой папке?
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 13:18
Игорь
Сейчас сделаю перенаправление по
Варианту 1 и проверю.
Отправлено спустя 10 минуты 42 секунды:Вот результат:
Код: Выбрать все
C:\Temp\curl-7.59.0\src>curl -I teplosar.by
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 20 Mar 2018 10:20:41 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=60
X-Powered-By: PHP/4.4.9
Expires: Wed, 21 Mar 2018 13:20:41 +0300
C:\Temp\curl-7.59.0\src>curl -I http://teplosar.by
HTTP/1.1 200 OK
Server: nginx/0.8.54
Date: Tue, 20 Mar 2018 10:20:46 GMT
Content-Type: text/html
Connection: keep-alive
Keep-Alive: timeout=60
X-Powered-By: PHP/4.4.9
Expires: Wed, 21 Mar 2018 13:20:46 +0300
Видимо
Вариант 1 не сработал.
Отправлено спустя 1 минуту 48 секунды:Bill Humble писал(а):Источник цитаты… Файл .htaccess точно лежит в корневой папке?
Вроде да ―
ftp://ftp.teplosar.by/www/teplosar.by/.htaccessОтправлено спустя 5 минуты :Хм, пробежался по ссылкам ― только главная страница делает перенаправление, а пара ссылок (
http://www.teplosar.by/ofitsialnye_dokumenty/ и
http://www.teplosar.by/about/) выводят на какой-то файл
https://www.teplosar.by/viewer.phpОтправлено спустя 1 минуту 58 секунды:Вот содержание файла .htaccess
Код: Выбрать все
Options -Indexes
ErrorDocument 404 /404.php
php_flag session.use_trans_sid off
php_flag register_globals Off
php_flag register_long_arrays Off
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/login.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule ^404.php$ - [L]
RewriteRule \.swf$ - [L]
RewriteRule \.js$ - [L]
RewriteRule \.css$ - [L]
RewriteRule \.jpg$ - [L]
RewriteRule \.gif$ - [L]
RewriteRule \.mp4$ - [L]
RewriteRule \.png$ - [L]
RewriteRule \.rar$ - [L]
RewriteRule \.zip$ - [L]
RewriteRule \.txt$ - [L]
RewriteRule \.pdf$ - [L]
RewriteRule \.exe$ - [L]
RewriteRule \.djvu$ - [L]
RewriteRule ^favicon.ico*$ - [L]
RewriteRule ^images/.*$ - [L]
RewriteRule ^admin.*$ - [L]
RewriteRule ^data/.*$ - [L]
RewriteRule ^handlers/.*$ - [L]
RewriteRule ^skins/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^kcaptcha/.*$ - [L]
RewriteRule ^forum/.*$ - [L]
RewriteRule ^js/.*$ - [L]
RewriteRule ^fck/.*$ - [L]
RewriteRule ^.*$ viewer.php
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex viewer.php
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 13:41
Bill Humble
Видимо да. Должно быть HTTP/1.1 301
На FTP не попасть без пароля. Это приватные данные.
Так он изначально непустой? Это проясняет ситуацию.
Отправлено спустя 1 час 6 минуты 11 секунды:Непонятно, к чему в оригинальном файле вот это строка:
Я бы переписал так:
Код: Выбрать все
Options -Indexes
ErrorDocument 404 /404.php
php_flag session.use_trans_sid off
php_flag register_globals Off
php_flag register_long_arrays Off
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule ^404.php$ - [L]
RewriteRule \.swf$ - [L]
RewriteRule \.js$ - [L]
RewriteRule \.css$ - [L]
RewriteRule \.jpg$ - [L]
RewriteRule \.gif$ - [L]
RewriteRule \.mp4$ - [L]
RewriteRule \.png$ - [L]
RewriteRule \.rar$ - [L]
RewriteRule \.zip$ - [L]
RewriteRule \.txt$ - [L]
RewriteRule \.pdf$ - [L]
RewriteRule \.exe$ - [L]
RewriteRule \.djvu$ - [L]
RewriteRule ^favicon.ico*$ - [L]
RewriteRule ^images/.*$ - [L]
RewriteRule ^admin.*$ - [L]
RewriteRule ^data/.*$ - [L]
RewriteRule ^handlers/.*$ - [L]
RewriteRule ^skins/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^kcaptcha/.*$ - [L]
RewriteRule ^forum/.*$ - [L]
RewriteRule ^js/.*$ - [L]
RewriteRule ^fck/.*$ - [L]
RewriteRule ^.*$ viewer.php
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex viewer.php
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
Хотя до конца не уверен.
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 15:16
BaRsupillamy
Игорь писал(а):Источник цитаты Да, я специально позвонил в техподдержку хостера и уточнил.
эй, ребята

посмотрите на код ответа. Там nginx, а не Апач.
Игорь, люлей техподдержке дай.
Отправлено спустя 3 минуты 58 секунды:вот у меня дома Apache
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 15:48
Bill Humble
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 16:00
Игорь
Bill Humble,

спасибо за анализ. Сейчас попробую.
Отправлено спустя 2 минуты 19 секунды:Браузер выдал:
"Неверное перенаправление на странице. Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится."При этом произошло перенаправление на несуществующий адрес
https://www.teplosar.by/viewer.php
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 17:35
Bill Humble
Адрес вполне себе существующий
Что возвращает при включенной переадресации curl -I
http://teplosar.by/ ?
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 19:52
LIS
Оффтопик:
Игорь, бери 0.5 и едь к Bill Humble
а то как онлайн гадание 
Перевод сайта с http:// на https:// (SSL-шифрование)
Добавлено: 20 мар 2018, 23:02
Игорь
LIS, видимо разумнее наоборот

Завтра продолжим. Я уже в кровати
