Foswiki за обратным прокси
Я установил Foswiki на локальный компьютер:http://<localcomputer>:<localport>/foswiki.
Работает хорошо уже много лет. Этот компьютер недоступен через Интернет. Теперь я хочу получить к нему доступ из Интернета через обратный прокси-сервер Apache2. Поэтому у меня есть доменное имя:foswiki.<mydomain.com>. На прокси-сервере у меня есть:
<VirtualHost *:443>
ServerName foswiki.<mydomain.com>
some SSL stuff
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests On
ProxyPreserveHost On
ProxyPass / http://<localcomputer>:<localport>/foswiki/
ProxyPassReverse / http://<localcomputer>:<localport>/foswiki/
</VirtualHost>
Используя ссылку на внешнем компьютере:https://foswiki.<mydomain.com>, я вижу тексты с главной страницы, но макет не в порядке. Логотип не отображается. Я много чего перепробовал, но пока не тот....
Внешняя ссылка находится в https. Локальная ссылка — http. В исходном коде, как видно по внешней ссылке https, есть некоторыеhref="http://foswiki.<mydomain.com>/foswiki/bin/../pub/*". Обратите внимание на http вместо https. Эти http:// не работают.
Другие прокси того же прокси-сервера работают корректно. Они перенаправляют на другие компьютеры, кроме установки Foswiki.
Что мне не хватает?
РЕДАКТИРОВАТЬ: Джеральд дал мне ответ, как заставить прокси работать с Foswiki. См. ниже.
Теперь у меня есть другая проблема. Но если попытаться решить это самостоятельно.
1 ответ
У Foswiki есть документация по использованию обратного прокси .
- Foswiki обнаружит
X-Forwarded-Hostзаголовок и установит значение из этого заголовка. Это будет работать только в том случае, если подключен один прокси-сервер. Несколько переходов прокси-сервера нарушат конфигурацию. - Если SSL отключен на прокси-сервере, Foswiki не обнаружит
https://для протокола. Переопределите это, добавив «?SSL=1» к начальному соединению:https://mynewsite.com/Main/WebHome?SSL=1 - Установить
{DefaultUrlHost}кprotocol://hostnameиспользуется пользователями для связи с прокси. - Набор
{ForceDefaultUrlHost}к1 - Набор
{Sessions}{UseIPMatching}к0
Так:
tools/configure -save -set {DefaultUrlHost}='https://foswiki.<mydomain.com>'
tools/configure -save -set {ForceDefaultUrlHost}=1
tools/configure -save -set {Sessions}{UseIPMatching}=0
И добавить?SSL=1на вашProxyPassдирективы.