在Apache Reverse Proxy后面使用Apache上的Joomla

时间:2017-09-09 18:23:48

标签: apache joomla proxy reverse

我在Ubuntu 16.04服务器上运行的Apache2(端口83)上安装了Joomla。 当我从本地网络连接到页面时,如192.168.178.14:83,它出现了,一切都很好。要从Internet访问我的页面,还有另一台运行Apache2的服务器,它充当代理服务器。通过端口80和443的所有流量都来到这台机器,使用ServerName决定哪些机器必须转发流量。这适用于大约10个域和机器。 但是当我连接到我的Joomla域时,我得到一个没有任何格式,图形和模板的HTML站点。当我将一个端口直接转发到这台机器时,一切正常,使用此端口进行连接。 network topologie

Ubuntu1上的我的VirtualHost配置:

<VirtualHost *:80>
   ServerName ksg-events.de
   Redirect permanent / https://ksg-events.de/
</VirtualHost>

<VirtualHost *:443>
    ServerName ksg-events.de
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyVia Off
    ProxyPass / http://192.168.178.14:83/
    ProxyPassReverse / http://192.168.178.14:83/
    SSLCertificateFile /etc/letsencrypt/live/ksg-events.de/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/ksg-events.de/privkey.pem
</VirtualHost>

Ubuntu2上的虚拟主机配置:

<VirtualHost *:83>
        DocumentRoot /var/www/ksg-events.de/joomla
</VirtualHost>

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我找到了解决问题的方法:

在Apache反向代理(http)后面运行Joomla:      - 将“ProxyVia full”添加到Proxy的虚拟主机配置

使用https:      - 在代理服务器上启用mod_headers      - 将“RequestHeader set X-Forwarded-Proto”https“”添加到代理的虚拟主机

我希望能帮助遇到同样问题的人。