Я установил 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',
),
),
....
Но ничего не случилось. Кто-нибудь может мне помочь?
Я не верю, что вы можете переписать домен так же, как вы можете переписать URL-адреса, так как домен использовался для определения местоположения вашего кода Yii.
Я считаю, что основная проблема заключается в том, что у вас есть ошибка в конфигурации прокси-сервера.
Я в основном такая же настройка, работающая с использованием этих параметров в конфигурации Apache:
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
ProxyPreserveHost On
ProxyRequests Off
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
Надеюсь, это поможет — может быть, кто-то еще, кто спотыкается об этом посте, так как он довольно старый 😉