1 (edited by PunBB 2019.08.26 20:05)

Topic: Переезд форума PunBB с HTTP на HTTPS

При переезде форума PunBB с HTTP на HTTPS следует учесть некоторые моменты. Прежде всего для сайта потребуется приобрести действующий SSL сертификат. На хостинге Бегет можно заказать его бесплатно, но обычно стоимость сертификата в пределах 30 - 50$.

Спустя некоторое время после получения и установки сертификата, ваш форум будет доступен сразу по двум адресам, и HTTP, и HTTPS. Поэтому потребуется установить переадрессацию с HTTP на HTTPS  в файле .htaccess находящийся в корне форума.

Если расширение файла .htaccess имеет .dict, то это означает, что файл не подключен. Убираем .dict и оставляем только .htaccess

Сохраняем и открываем файл для редактирования. Находим строки:

    RewriteEngine On
    #RewriteBase /

и сразу после них добавляем следующие настройки:

   #from HTTP to HTTPS
   RewriteCond %{HTTPS} off
   RewriteCond %{HTTP:X-Forwarded-Proto} !=https
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Эти правила универсальные независимо где находится ваш форум в корне сайта или же в директории, а также для любого имени домена и его зоны.

Если вам долго не отвечают, пишите автору темы в личку или на Email.

2 (edited by PunBB 2019.05.13 07:21)

Re: Переезд форума PunBB с HTTP на HTTPS

После сохранения файла .htaccess в UTF-8, открываем файл config.php и добавляем в любом месте, можно в самом конце файла следующие строки:

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
   $_SERVER['HTTPS'] = 'on';
   $_SERVER['SERVER_PORT'] = '443';
}

Далее меняем значение переменной $base_url с http на https. То есть если раннее базовый урл форума имел вид:

$base_url = 'http://punbb.info';

То теперь он будет:

$base_url = 'https://punbb.info';

Без замыкающего слеша. Сохраняем файл. Теперь при переходе на главную страницы будут переадресовываться на страницы с защищенным протоколом.


Если при применении вышеприведенных изменений вы наблюдаете ошибку с токеном, то попробуйте вместо того что выше следующее решение:

.htaccess (после RewriteEngine On):

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

config.php (в конце):

if (isset($_SERVER['HTTP_X_FORWARDED_PROTOCOL']) && $_SERVER['HTTP_X_FORWARDED_PROTOCOL'] == 'https') {
   $_SERVER['HTTPS'] = 'on';
   $_SERVER['SERVER_PORT'] = '443';
}

Спасибо пользователю Armagee за предоставленное решение. PunBB_INFO_ICQ/thumbsup

Если вам долго не отвечают, пишите автору темы в личку или на Email.

3 (edited by PunBB 2017.07.25 10:07)

Re: Переезд форума PunBB с HTTP на HTTPS

Если ваш сайт уже проиндексирован поисковыми системами, то нужно будет заново добавить сайт в ПС и затем настроить 301 зеркальный редирект  с домена со старым протоколом HTTP на нлвый с HTTPS.

Причем, если брать основные ПС это Яндекс и Гугл, то с первым придется повозиться.
С Google как правило проблем с переносом не возникает. Он шустрее индексирует страницы, главное не забудьте в самой Search Console добавить robots.txt && sitemap.xml (если есть). Далее умная поисковая машина все сделает за вас.

Что же касается капризного Яши, то тут нужно учесть то, что Яндекс должен проиндексировать или хотя бы добавить в поисковую базу сайт по новому адресу, а уже затем устанавливать 301 редирект.

Принцип добавления такой же как и у обычного сайта, но прежде чем устанавливать редирект вы должны убедиться в том, что все страницы на которые осуществляются редиректы действительно загружены в ПС. Эти страницы по началу могут и не появляться в поиске, но они обязательно должны быть известны Яндексу. Иначе редирект будет осуществляться с несуществующей с точки зрения Яши страницы. В его веб мастере есть специальный инструмент проверки отдельных страниц. Думает долго, поэтому советую подождать неделю - две, а то и более.

Когда страницы стали известны роботу, то сразу откройте файл в корне сайта robots.txt и замените хост для Яндекса. Если этого не было, то добавьте эту строку. Вместо:

Host: punbb.info

Вставьте так:

Host: https://punbb.info

Это правило понимает только Яндекс.Видимо их технологический прогресс еще не дошел до того чтобы ПС сама определяла хост  PunBB_INFO_ICQ/crasy поэтому учитывайте, что это правило должно быть под всеми правилами для Яшки. Вот пример нашего роботса.

После этих манипуляций уже смело можно в Вебмасере Яндекса установить редирект со старого сайта на новый.

И в htacess соответственно вышеприведенный код.

Вот собственно и все, желаю всем успеха в продвижении. Ну а если что не так - поправьте  PunBB_INFO_ICQ/wink

Если вам долго не отвечают, пишите автору темы в личку или на Email.

4 (edited by kisa 2018.02.06 18:34)

Re: Переезд форума PunBB с HTTP на HTTPS

Картинки и превью, ранее закачанные на форум Pun Uploaderом, подгружаются в темы по http. Поэтому такие страницы считаются не полностью защищёнными. Это называется "смешанный контент" - сама страница защищена, а подтягиваемые изображения - нет. Визуально это сразу заметно по отсутствию зелёного замочка в адресной строке браузера.

Кроме того, при использовании Pan Preview of Images, исчезают превьюшки - картинки показываются в полный размер.

Чтобы всё работало и отображалось, как положено, заменим в БД адреса вложений с http:// на https://.

Хорошо, если хостинг предоставляет phpMyAdmin.
Заходим через него, и экспортируем БД - прямо всю копируем себе на локальный компьютер.
Я копировал всю базу скопом, но можно поступить не так грубо, а интеллигентно работать только с таблицей posts.
https://punbb.info/uploads/images/2018/02/e5f1be351012186e2269e9ec674e5671.png

Копируем первоначальный файл в безопасное мето для возможности откакта!

Открываем на своём ПК файл более-менее продвинутым текстовым редактором, работающим с Юникодом, и имеющем функции поиска и замены.

Задаём не просто замену http:// на https:// (в этом случае можем назаменять лишнего!), а с небольшой частью имени Вашего сайта. Например, просим заменить

http://mysite

на

https://mysite

В этом случае изменения коснутся только адресов внутри Вашего форума, и не пострадают ссылки на сторонние ресурсы.
Процесс может тормозить из-за большого размера файла - не нервничайте, всё ок.

Сохраняем файл, и с помощью phpMyAdmin загружаем его назад на хостинг.
https://punbb.info/uploads/images/2018/02/67605fa8f71cddba89f73d68ac509ee5.png

Ву а ля. Теперь форум переведен на https:// полностью.

В случае неудачи, загружаем сохранённый ранее оригинальный файл.

5

Re: Переезд форума PunBB с HTTP на HTTPS

Что делать, если форум лежит не в корне сайта? Например, в папке /forum/ Нужно ли вносить изменения в .htaccess?

Да, вам нужно внести изменения в .htaccess находящийся в директории.

Если расширение файла .htaccess имеет .dict, то это означает, что файл не подключен. Убираем .dict и оставляем только .htaccess

Сохраняем и открываем файл для редактирования. Находим строки:

    RewriteEngine On
    #RewriteBase /

и сразу после них добавляем следующие настройки:

   #from HTTP to HTTPS
   RewriteCond %{HTTPS} off
   RewriteCond %{HTTP:X-Forwarded-Proto} !=https
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Если же в корне самого сайта пока ничего нет, а сам форум находиться в директории /forum/ то
1. Создайте пустой файл с именем index.html

2. Установите 301  редирект главной страницы на форум:

Redirect 301 /index.html https://punbb.info/forum/index.php

PunBB_INFO_ICQ/bye

Если вам долго не отвечают, пишите автору темы в личку или на Email.

6 (edited by kisa 2018.02.17 07:17)

Re: Переезд форума PunBB с HTTP на HTTPS

Pan uLogin потребовал лёгкого допиливания https://punbb.info/post6186.html#p6186
Не исключено, что и другие расширения с обращением куда-то наружу, могут некорректно работать.

Добавлено: 17th Feb 2018 05:03

Вот этот сервис помогает выявить проблемы с https: https://www.whynopadlock.com
(Знал бы час назад - не отключал бы по одному расширения, а после не колупался бы в них  PunBB_INFO_ICQ/jokingly но  последнего таракана - в стиле - этот сервис поймать помог PunBB_INFO_ICQ/yes )

7

Re: Переезд форума PunBB с HTTP на HTTPS

Привет. У меня появилась проблема с переездом. Когда я пытаюсь войти в акк, меня перекидывает на страницу ошибки SSL получило запись, длина которой превышает максимально допустимую. Error code: SSL_ERROR_RX_RECORD_TOO_LONG и урл будет таким хттпс://site:80/login.php без замочка, хотя на главной странице замок есть. Как решать?

---------------------------------

А еще перед этим была страница с подтверждением маркера доступа что то там.


---------------------------------

А еще при вставке в htacces именно вашего:

   RewriteCond %{HTTPS} off
   RewriteCond %{HTTP:X-Forwarded-Proto} !=https
   RewriteRule ^(.*)$ хттпс://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

У меня была страница ошибки хрома о том, что слишком много запросов или бесконечное перенаправление.
В итоге я заюзал другую записась:

RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ хттпс://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

---------------------------------

Да и еще, мне при открытии любого форума, всмысле раздела, выкидывает окно ошибки, что бесконечное перенаправление PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help  PunBB_INFO_ICQ/help


---------------------------------

Проблема с просмотром разделов и топиков решена, во всем виноват SEO Optimization или его настройка. А вот проблему со входом не знаю как.

8

Re: Переезд форума PunBB с HTTP на HTTPS

@Armagee, у тебя скорее всего огнелисный браузер, он дурачок по работе с сертификатами ... если ты конечно его установил правильно. Но попробуй сперва зайти через HTTP  ...

9

Re: Переезд форума PunBB с HTTP на HTTPS

@kirpich, да-да огнелисый. Но такое же происходит и с другими браузерами, не смотря на устройство, будь-то телефон или ПК. По HTTP зайти не могу, перенаправляет ведь.

10

Re: Переезд форума PunBB с HTTP на HTTPS

@Armagee,  может ссылку для начала покажешь?

11

Re: Переезд форума PunBB с HTTP на HTTPS

@kirpich, на форум?

---------------------------------

У меня такая проблема не только со входом но и с созданием топиков


---------------------------------

Ну и что мне делать? На HTTP сидеть не охото PunBB_INFO_ICQ/sad

12

Re: Переезд форума PunBB с HTTP на HTTPS

@Armagee,
Давай показывай конфиг форума... можно без имени и пароля для базы данных..
Дальше показывай полный htacesse
пс. Воспользуся bbкодом для вставки кода.
И подскажи какой сервак стоит... апач?

---------------------------------

Если все нормально как прописано тут на форуме (это еще надо сперва проверить), то причина возможно в аватарах и других ресурсах, которые у тебя миксом идут в подгрузку... то есть через http и браузер уже даже на этом этапе начинает истерить...

13

Re: Переезд форума PunBB с HTTP на HTTPS

@kirpich, nginx.
.htaccess

# BEGIN PunBB

# ----------------------------------------------------------------------
# Start rewrite engine
# ----------------------------------------------------------------------

<IfModule mod_rewrite.c>
   # MultiViews interfers with proper rewriting
   Options -MultiViews

   RewriteEngine On

   # Uncomment and properly set the RewriteBase if the rewrite rules are not working properly
   #RewriteBase /
   
    #RewriteCond %{ENV:HTTPS} off
    #RewriteRule ^(.*)$ хттпс://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* хттпс://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
    
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . rewrite.php [L]
</IfModule>


# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------

# Force the latest IE version, in various cases when it may fall back to IE7 mode
# github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk

<IfModule mod_setenvif.c>
    <IfModule mod_headers.c>
       BrowserMatch MSIE ie
       Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
     </IfModule>
</IfModule>

<IfModule mod_headers.c>
   # Because X-UA-Compatible isn't sent to non-IE (to save header bytes),
   # We need to inform proxies that content changes based on UA
     Header append Vary User-Agent
   # Cache control is set only if mod_headers is enabled, so that's unncessary to declare
</IfModule>


# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# Force UTF-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss


# ----------------------------------------------------------------------
# A little more security
# ----------------------------------------------------------------------

# Do we want to advertise the exact version number of Apache we're running?
# Probably not.
## This can only be enabled if used in httpd.conf - It will not work in .htaccess
# ServerTokens Prod


# "-Indexes" will have Apache block users from browsing folders without a default document
# Usually you should leave this activated, because you shouldn't allow everybody to surf through
# every folder on your server (which includes rather private places like CMS system folders).
<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>

# END PunBB

Config:

<?php

$db_type = 'mysqli';
$db_host = 'localhost';
$db_name = '';
$db_username = '';
$db_password = '';
$db_prefix = 'over_';
$p_connect = false;

$base_url = 'хттпс://overnull.ru';

$cookie_name = 'forum_cookie_ab0f20';
$cookie_domain = '';
$cookie_path = '/';
$cookie_secure = 0;


define('FORUM', 1);

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
   $_SERVER['HTTPS'] = 'on';
   $_SERVER['SERVER_PORT'] = '443';
}
// Enable DEBUG mode by removing // from the following line
//define('FORUM_DEBUG', 1);

// Enable show DB Queries mode by removing // from the following line
//define('FORUM_SHOW_QUERIES', 1);

// Enable forum IDNA support by removing // from the following line
//define('FORUM_ENABLE_IDNA', 1);

// Disable forum CSRF checking by removing // from the following line
//define('FORUM_DISABLE_CSRF_CONFIRM', 1);

// Disable forum hooks (extensions) by removing // from the following line
//define('FORUM_DISABLE_HOOKS', 1);

// Disable forum output buffering by removing // from the following line
//define('FORUM_DISABLE_BUFFERING', 1);

// Disable forum async JS loader by removing // from the following line
//define('FORUM_DISABLE_ASYNC_JS_LOADER', 1);

// Disable forum extensions version check by removing // from the following line
//define('FORUM_DISABLE_EXTENSIONS_VERSION_CHECK', 1);

Переименовал все httpsки в хттпс

---------------------------------

@kirpich, знаете что меня очень сил но смутило. В инструкции по переходе на https, админ указывал x_forwarded_proto в хтаккесс и на конфиге. Из-за того что в хтаккесс было прото а не протокол, у меня просто ничего не работало. Изменил на protocol только в хттакесс и сейчас заметил такое же выражение в конфиге


---------------------------------

@kirpich, да я был прав, проблема решена, спасибо за попытку помощи)
Можешь как то попросить админа, чтоб подкорректировал свою инструкцию, она невалидная

14

Re: Переезд форума PunBB с HTTP на HTTPS

@Armagee, я не великий знаток сервера gnix но там вроде вегда было достаточно классики

if ($scheme = http) {
       return 301 https://$server_name$request_uri;
    }
if ($host ~* www.) {
       return 301 https://$server_name$request_uri;
    }

И еще попробуй раскомментировать строку...  посмотрим.

define('FORUM_DISABLE_CSRF_CONFIRM', 1);

15

Re: Переезд форума PunBB с HTTP на HTTPS

@Armagee, скинь свой рабочий пример, добавлю как вариант  PunBB_INFO_ICQ/thumbsup

Если вам долго не отвечают, пишите автору темы в личку или на Email.

16

Re: Переезд форума PunBB с HTTP на HTTPS

@kirpich, раскомментирование данной строки вызывает так сказать "вопрос безопасности". Я уже до этого пробывал это делать. И при логине меня выбрасывало на site:80/login.php со страницей ошибки SSL: "бесконечные запросы" - примерно так.

---------------------------------

@PunBB,
.htaccess (после RewriteEngine On):

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

config.php (в конце):

if (isset($_SERVER['HTTP_X_FORWARDED_PROTOCOL']) && $_SERVER['HTTP_X_FORWARDED_PROTOCOL'] == 'https') {
   $_SERVER['HTTPS'] = 'on';
   $_SERVER['SERVER_PORT'] = '443';
}

И соответственно в base_url заменить http на https

17

Re: Переезд форума PunBB с HTTP на HTTPS

PunBB wrote:

и сразу после них добавляем следующие настройки:

Программный код:
   #from HTTP to HTTPS
   RewriteCond %{HTTPS} off
   RewriteCond %{HTTP:X-Forwarded-Proto} !=https
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Мне кажется здесь ошибка в строке "RewriteCond %{HTTP:X-Forwarded-Proto} !=https"
Должно быть X-Forwarded-Protocol ?

---------------------------------

В 1 ,5 и 7 сообщениях это

18

Re: Переезд форума PunBB с HTTP на HTTPS

DronSF wrote:

Мне кажется здесь ошибка

Я не знаток в этих всех тонкостях, но похоже что таковы стандарты
С подобной проблемой сталкиваются не только любители punbb,  см. ТУТ первый ответ

Если вам долго не отвечают, пишите автору темы в личку или на Email.