我在本地计算机上安装了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一起工作。见下文。
现在,我有另一个问题。但如果我自己解决这个问题。
发布于 2022-08-12 07:03:40
Foswiki有一个反向代理背后使用的文档。
X-Forwarded-Host报头,并从该标头中设置{DefaultUrlHost}。只有当一个代理在线多个代理跳会破坏配置时,它才能工作。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指令中。
https://serverfault.com/questions/1108012
复制相似问题