Как переписать домен с помощью Yii urlManager

Я установил humhub на один из моих серверов. На входе в мою сеть есть обратный прокси-сервер, а за ним работает хумхаб-сервер. Доменное имя предоставляется серверу humhub: vm-humhub.

Я хочу переписать URL-адреса, потому что humhub помещает все URL-адреса с именем домена «vm-humhub», что недопустимо при доступе из моей сети. Я хочу заменить http://vm-humhub в https://mydomain.com,

Сначала я попытался переписать URL-адреса с помощью apache, написав в default-ssl.conf примерно так:

<Location /humhub>
ProxyPass http://vm-humhub/humhub
ProxyPassReverse http://vm-humhub/humhub
RequestHeader set X_Forwarded_proto 'https'
RequestHeader unset Accept-Encoding
ProxyHTMLEnable On
ProxyHTMLURLMap http://vm-humhub/humhub/ https://mydomain.com/humhub/
ProxyHTMLExtended On
ProxyHTMLCharsetOut utf8
</Location>

Когда я вижу HTML, все URL были успешно переписаны. Тем не менее, JavaScript не работает, и страница перестает загружать сообщения.

Поскольку humhub работает на платформе Yii, я подумал, что это естественное переписывание URL с использованием urlManager из Yii (и официальное руководство по установке пишет так).

Однако я ничего не знаю о Yii. Погуляв некоторое время, я написал в файле conf:

<?php return array (
'components' =>
array (
'urlManager' => array(
'urlFormat' => 'get',
'showScriptName' => false,
'rules' => array(
'http://vm-humhub' => 'https://mydomain.com',
),
),
....

Но ничего не случилось. Кто-нибудь может мне помочь?

2

Решение

Я не верю, что вы можете переписать домен так же, как вы можете переписать URL-адреса, так как домен использовался для определения местоположения вашего кода Yii.

0

Другие решения

Я считаю, что основная проблема заключается в том, что у вас есть ошибка в конфигурации прокси-сервера.

Я в основном такая же настройка, работающая с использованием этих параметров в конфигурации Apache:

SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

Надеюсь, это поможет — может быть, кто-то еще, кто спотыкается об этом посте, так как он довольно старый 😉

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector