Skip to content

Переезд форума с http на https

И снова добрый вечер.

Хостер предоставил ssl сертификат и решил попробовать переехать на https

Подключил в панели ssl, Прописал путь в conf_global.php.

В админке прописал тоже все пути где нужно.

Вроде все все работает, но некоторые скрипты не подгружаются.

В консоли такие ошибки.

 

ReferenceError: ipb is not defined ----- ipb.lang.js:1

 

Чат

TypeError: window.IPBoard is undefined ----- shoutbox.js:262

window.IPBoard.prototype.shoutbox=

 

Рейтинг тем

TypeError: _trating is undefined ----- trating.js:3

_trating.prototype.trating = {

 

В итоге чат не работает, рейтинг тем и главное не подгружается панель быстрого ответа со смайлами.

Вернул все пути назад. Оставил сейчас только включенный ssl.

Featured Replies

Server: nginx, а как бэкенд наверное apache, да? nginx правильно проксирует заголовки? Как php определяет запросы по протоколу https? Смотрите в phpinfo(), в секции PHP Variables.

 

Ищите где формируются эти ссылки и смотрите почему они не используют протокол https.

Попробуйте в ./conf_global.php добавить:

 

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

Либо добавить без условия:

 

$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;

тогда форум принудительно будет считать запросы с любого протокола как с https и все внутренние ссылки будут заменены на https.

  • Author
Попробуйте в ./conf_global.php добавить:

Попробовал - то же самое.

 

Вот секция PHP Variables. сейчас без включенного http

 

_SERVER["REQUEST_URI"]  /admin/index.php?adsess=ad77f63da732578e5d35e6be63b7b5f0&app=core&module=diagnostics&section=diagnostics&phpinfo=1
_SERVER["REQUEST_METHOD"]   GET
_SERVER["SERVER_PROTOCOL"]  HTTP/1.0
_SERVER["GATEWAY_INTERFACE"]    CGI/1.1
_SERVER["SCRIPT_FILENAME"]  /www/..../admin/index.php
_SERVER["REMOTE_ADDR"]  87.252.225.6
_SERVER["SERVER_PORT"]  80
_SERVER["SERVER_ADDR"]  46.30.40.98
_SERVER["HTTP_REFERER"] http://....../admin/index.php?adsess=ad77f63da732578e5d35e6be63b7b5f0&app=core&module=diagnostics
_SERVER["HTTP_X_FORWARDED_PROTO"]   http
_SERVER["HTTP_X_FORWARDED_FOR"] 87.252.225.6
_SERVER["FCGI_ROLE"]    RESPONDER

сейчас без включенного http

Смотреть нужно по протоколу https. Если при этом nginx не проксирует HTTP_X_FORWARDED_PROTO с https или отсутствует HTTPS on, тогда нужно добавлять без условия.

  • Author

Заработало! Спасибо вам огромное.

  • Author

Можно задать следующий вопрос в этой же теме про переезд с http на https?

Как правильно настроить редирект 301 что бы не было циклических переадресаций?

.htaccess по умолчанию.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule \.(jpeg|jpg|gif|png)$ /public/404.php [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Добавил

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

 

циклическая прошла, но все страницы идут на /index.php

Добавлять нужно после rewritebase или rewriteengine и apache должен определять запросы сделанные по https, в противном случае будет бесконечный редирект.

  • Author

Теперь все ок! И снова благодарствую!

  • 3 weeks later...

Можно еще раз что делали, по порядку, у меня 1 получилось щас что то не работает, не понял что и делал

"Что то не работает" - не объяснение. Либо пишите конкретно что у вас не работает, либо читайте тему.

Сделал все как здесь написанно не работает, бесконечное перенаправленные

Редиректы нужно добавлять только после правильной настройки https.

  • 6 months later...

После переезда на https пропали видео из Ютуб и внутри тем показывает незащищенное соединение из-за картинок(хотя их нет), я так понимаю на смайлы реагирует, как прописать путь до смайлов по https и как быть с видео?

Edited by ovi8

как прописать путь до смайлов по https

Сбросить кеш постов - Система -> Управление кешем -> Сообщений в кеше.

 

и как быть с видео из Ютуб

Отредактировать шаблон замены медиа-тега и сбросить кеш постов.

  • 1 year later...

Решил перенести один из своих форумов на https все сделал, только почему-то:

1. слетает авторизация, т.е. вошел на форум под логином и паролем, обновляю страницу и приходится вновь входить, в чем может быть проблема?

2. рядом с адресом https значек не зеленый: http://prntscr.com/k9ikl6 в АЦ же все нормально: http://prntscr.com/k9ikqq как исправить?

 

Что было проделано:

1. в .htaccess добавил:

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

2. в conf_global.php добавил:

$_SERVER['HTTPS'] = 'on';
$_SERVER['SERVER_PORT'] = 443;

3. в АЦ разрешил вход под https и подправил ссылки

 

Заранее спасибо за ответы!

с первой проблемой вопрос вроде решен, включил X_FORWARDED_FOR IP, прошу помочь со второй

Edited by 9IPOCTb

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.