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директивы.

Другие вопросы по тегам