带有子文件夹代理的 Apache 反向代理

带有子文件夹代理的 Apache 反向代理

我目前有一个子域代理和子文件夹代理作为单独的虚拟主机工作。

我想通过合并来最小化/简化代码。

我的最终目标是让子域指向不同的物理/虚拟服务器,同时使用子文件夹访问该服务器中的不同服务。

例如:

www.example.com = Server 0 Apache
www.example.com/webmin = Server 0 Webmin

server1.example.com = Server 1 Apache
server1.example.com/webmin = Server 1 Webmin
server1.example.com/ad = Server 1 Active Directory UI

server2.example.com = Server 2 Apache
server2.example.com/webmin = Server 2 Webmin
server2.example.com/ad = Server 2 Active Directory UI

我有以下作为单独的虚拟主机工作:

#NAS as nas.example.com
ProxyPass / http://10.0.28.1:5000/
ProxyPassReverse / http://10.0.28.1:5000/

#Webmin as nas.example.com/webmin
ProxyPass /webmin/ http://10.0.28.1:10000/
ProxyPassReverse /webmin/ http://10.0.28.1:10000/

我猜第一个条目会覆盖第二个条目,因为第一个条目是 /。我似乎无法弄清楚如何覆盖并让两个 ReverseProxies 在同一个

答案1

刚刚尝试重新排序但仍然不起作用。

<VirtualHost *:443>
    # NAS
    ServerName nas.example.com
    ServerAdmin [email protected]
    DocumentRoot /mnt/WWW

    ProxyPass /webmin/ http://10.0.27.1:10000/
    ProxyPassReverse /webmin/ http://10.0.27.1:10000/

    ProxyPass / http://10.0.27.1:5000/
    ProxyPassReverse / http://10.0.27.1:5000/

    # SSL Certificates
    SSLEngine on
    SSLCertificateFile /root/ssl/example.com.crt
    SSLCertificateKeyFile /root/ssl/private.key
    SSLCACertificateFile /root/ssl/intermediateCA.crt

    # Error Logs
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

以上是到另一台服务器 (NAS) 的反向代理。nas.example.com 应该是 NAS 的默认 GUI,而 nas.example.com/webmin 应该指向同一台服务器 (NAS) 上的 Webmin。所发生的情况是 /webmin 从 NAS GUI 返回一个页面,提示找不到该页面。

相关内容