Перейти к контенту
  • 0

Одновременная работа через http и https


xlt

Вопрос

Сообственно интересует как заставить работать форум одновремено по https и http

тоесть когда заходиш на http://domen.ru то также продолжаеш работать по http,

а если заходиш на https://domen.ru то продолжаеш работать на форуме по https.

И как заставить работать форум на два домен пример http://domen.ru/forum/, https://domen.ru/forum/,

http://forum.domen.ru/, https://forum.domen.ru/.

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0
Тоже интересует эта тема несмотря на то что ей год. Не подскажите как реализовать работу по https и http одновременно?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не прописывать http:// в conf_global.php и настройка обоих хостов в Апаче не решает проблему?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

без http:// не грузятся стили и ссылки кривые. По крайне мере у меня.

 

Как вариант:

Обычно без ссл -> public_html

ssl -> private_html

 

Использовать 2 копии форума и общую папку uploads, если место позволяет.

 

Хотя сам не пробовал, данная тема то же интересна.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Хм :D и мне тоже так надо сделать...

Вернее несам форум а подраздел, секретный, там ведутся финансовые работы, ну и что-бы обезопасить от "всяких" хоче поставить https. Вы уж помогите?

 

Кстате, почему у вас на форуме картинка не вставляется ? Хотел скрин выложить...

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не прописывать http:// в conf_global.php и настройка обоих хостов в Апаче не решает проблему?

Апач разуметься сконфигурировал, по обоим протоколам открывалось из одной папки. Не прописывать http:// в conf_global.php непомогает. Тогда полная ерунда выходит. А вот вобще удалить всё в строке $INFO['board_url'] = ''; помогает, проверил экспертным путём. Хотелось бы узнать безопасный ли это метод и нечего ли старшного? а то прийдётся делать как сказал ENFIX

 

Уже обнаружил недостаток сразу. Проблематично зайти в адмику. Оно не перекидывает само из за того что все пути становятся относительными... ручками можно подставить путь и зайти. Думаю можно решить эту проблему не сложным редактированием шаблонов админцентра.

 

Уже заметил ещё одн косяк. В письмах не присылает адрес сайта..

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Если вы не хотите описать, в чём ерунда, то не думаю что кто-то захочет отгадывать.

 

Условие можно поставить в conf_global.php, посмотрите что в $_SERVER пишется при HTTP и HTTPS, думаю поймёте как различить. Странно, что это никто не предложил.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если вы не хотите описать, в чём ерунда, то не думаю что кто-то захочет отгадывать.

 

Условие можно поставить в conf_global.php, посмотрите что в $_SERVER пишется при HTTP и HTTPS, думаю поймёте как различить. Странно, что это никто не предложил.

Я не знаю php.

 

В смысле не хочу описывать в чем ерунда если вопрос мне? я вроде явно описал два возникающих проблемы. Вход в админцентр и ссылки в письме.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Не прописывать http:// в conf_global.php непомогает. Тогда полная ерунда выходит.

какая такая ерунда выходит?!

В письмах не присылает адрес сайта..

конечно, он ОДНОЗНАЧНО берется из конф_глобал

 

Я не знаю php.

http://www.ibresource.ru/forums/blog/arhar...p?showentry=284 2.Q

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Если вы не хотите описать, в чём ерунда, то не думаю что кто-то захочет отгадывать.

 

Условие можно поставить в conf_global.php, посмотрите что в $_SERVER пишется при HTTP и HTTPS, думаю поймёте как различить. Странно, что это никто не предложил.

Я не знаю php.

 

В смысле не хочу описывать в чем ерунда если вопрос мне? я вроде явно описал два возникающих проблемы. Вход в админцентр и ссылки в письме.

Надо же - зашел на форум посмотреть насчет https, а тут как раз эта тема обсуждается. :D Приведу свой опыт.

 

1. Конфигурируем в Апаче отдельный виртуальный хост на 443 порту:

NameVirtualHost IP_форума:443

<VirtualHost IP_форума:443>
....

 

Дальше идет все то же, что и в конфиге на 80 порту, плюс строчки типа:

 

   SSLEngine on
  SSLProtocol all -SSLv2
  SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  SSLCertificateFile /etc/pki/tls/certs/localhost.crt
  SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

 

Вывод в логи можно в принципе не менять - пусть все пишется в один журнал.

 

Сертификат - либо самоподписанный, либо можно заказать на халяву сертификат на 3 месяца у испанцев в www.ipsca.com. Как делать и устанавливать сертификат - можно здесь посмотреть

http://webscript.ru/stories/04/05/29/2604693

 

2. В conf_global.php пишем:

if (isset($_SERVER["HTTPS"])):
 $INFO['board_url']					=	   'https://мой_форум.ру';
else:
 $INFO['board_url']					=	   'http://мой_форум.ру';
endif;

 

3. Добавляем в каталог админпанели .htaccess со строчкой:

SSLRequireSSL

В этом случае заход в панель администратора становится возможным только по https.

 

В принципе в 2.3.6 все замечательно работает и без редактирования conf_global, но я наткнулся на забавный баг: захожу по https на страницу авторизации администратора, ввожу логин/пароль, щелкаю по кнопке "Войти", и админка перенаправляет меня на обычный http. Поменять conf_global - самое безболезненное.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Возвращаюсь к теме. Обнаружились небольшие грабли при работе по https.

 

Захожу в админку по https, далее - "Неактивированные учетные записи" (у меня активация ручная), выбираю пользователей, жму на "Активировать". Пользователь получает письмо с уведомлением об активации.

 

Но! Поскольку я заходил по https, то в письме-уведомлении адрес форума также начинается с https! Это, с одной стороны, мелочь, с другой - пользователь может привыкнуть ходить по https, а это имеет побочные эффекты. Да и вообще, возникает вопрос - чего это за форум, на который попадешь только по защищенному протоколу.

 

Проблема касается ВСЕХ писем, отсылаемых с админки - письма об активации, перемене пароля и т.п.. Переписать переменные текстом в cache/lang_cache/ru/lang_email_content.php можно, но есть ли более гибкое решение?

 

Вот фрагменты, которые должна по идее затронуть правка:

$lang['reg_validate'] = <<<EOF

.....
В форуме по адресу <#BOARD_ADDRESS#> появилась регистрационная запись,
в которой был указал ваш электронный адрес (e-mail).

Чтобы активировать вашу учетную запись, необходимо перейти по ссылке:
<#THE_LINK#>

Если таким способом активировать учетную запись не удалось, попробуйте сделать это вручную. Пройдите по ссылке
<#MAN_LINK#>

Пожалуйста, не забудьте заполнить свои личные данные:
<#BOARD_ADDRESS#>?act=UserCP&CODE=00

$lang['complete_reg'] = <<<EOF

Администратор подтвердил вашу регистрацию или запрос на изменение e-mail адреса в «<#BOARD_NAME#>». Вы можете авторизоваться
с вашими данными и иметь полный доступ к форуму по адресу:
<#BOARD_ADDRESS#>

$lang['footer'] = <<<EOF

--
С уважением,
Администрация <#BOARD_NAME#>.
<#BOARD_ADDRESS#>

Ссылка на комментарий
Поделиться на других сайтах

  • 0

гибкое решение - найти место, где письма подготавливаются к отсылке и жестко менять там https на http

причем менять только в предопределенных реплейсах, а не во всем тексте письма (вдруг нам понадобится отсылать ссылку с https)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
гибкое решение - найти место, где письма подготавливаются к отсылке и жестко менять там https на http

причем менять только в предопределенных реплейсах, а не во всем тексте письма (вдруг нам понадобится отсылать ссылку с https)

1. Текст письма - используются такие псевдоконстанты:

cache/lang_cache/ru/lang_email_content.php:

<#THE_LINK#>

<#MAN_LINK#>

<#BOARD_ADDRESS#>

2. Смотрим, где они определяются :

 

sources/classes/class_email.php:

$words['BOARD_ADDRESS'] = $this->ipsclass->vars['board_url'] . '/index.' . $this->ipsclass->vars['php_ext'];

 

Это как раз поменять несложно.

 

sources/action_admin/member_tools.php:

...

MAN_LINK' => $this->base_url_nosess."?act=Reg&CODE=07",

....

THE_LINK' => $this->ipsclass->base_url_nosess."?act=Reg&CODE=03&type=newemail&uid=".$this->ipsclass->member['id']."&aid=".$validate_key

 

И так куча строк. Т.е. MAN_LINK и THE_LINK определяются по многу раз, причем в скрипте админки.

 

В общем, я пока поменял руками lang_email_content.php и решил успокоиться. :D А вот разработчикам на будущее надо было бы развести http и https в письмах.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Разработчики просто не рассчитывают на https. Хотя можете написать им об этом, может быть зацепит :D
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.