Перейти к содержимому
Русский язык для Invision Community 5

Переезд форума с 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.

Рекомендованные сообщения

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.

  • Автор
Попробуйте в ./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, тогда нужно добавлять без условия.

  • Автор

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

  • Автор

Можно задать следующий вопрос в этой же теме про переезд с 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, в противном случае будет бесконечный редирект.

  • Автор

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

  • 3 недели спустя...

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

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

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

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

  • 6 месяцев спустя...

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

Изменено пользователем ovi8

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

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

 

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

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

  • 1 год спустя...

Решил перенести один из своих форумов на 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, прошу помочь со второй

Изменено пользователем 9IPOCTb

Создайте аккаунт или войдите в него для комментирования

Важная информация

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.