条件ProxyPass Apache2

条件ProxyPass Apache2,apache,Apache,我有两个用于流媒体的IP 例: 1.1.1.1[IP_ONE] 2.2.2.2[IP_2] 我想先使用proxypass检查IP_ONE上的文件 如果IP_ONE/file.txt返回404转到IP_TWO 到目前为止,这是我的Apache2配置文件 <VirtualHost *:443> ServerName storage.domain.com SSLEngine on SSLCertificateFile /etc/fullchain.pem SSLC

我有两个用于流媒体的IP 例:

  • 1.1.1.1[IP_ONE]
  • 2.2.2.2[IP_2]
我想先使用proxypass检查IP_ONE上的文件

如果
IP_ONE/file.txt
返回
404
转到
IP_TWO

到目前为止,这是我的Apache2配置文件

<VirtualHost *:443>
  ServerName storage.domain.com

  SSLEngine on
    SSLCertificateFile /etc/fullchain.pem
  SSLCertificateKeyFile /etc/privkey.pem

  SSLProxyEngine on
  ProxyPass / http://1.1.1.1/
  ProxyPassReverse / http://1.1.1.1/
  ProxyPass / http://2.2.2.2/
  ProxyPassReverse / http://2.2.2.2/
</VirtualHost>

ServerName storage.domain.com
斯伦金安
SSLCertificateFile/etc/fullchain.pem
SSLCertificateKeyFile/etc/privkey.pem
SSLProxyEngine打开
ProxyPass/http://1.1.1.1/
ProxyPassReverse/http://1.1.1.1/
ProxyPass/http://2.2.2.2/
ProxyPassReverse/http://2.2.2.2/

此配置有效,但它给了我一个代理错误。

您可以使用apache代理传递负载平衡模块。您定义了一个新的loadBalancer指定,指定应将请求路由到哪些服务器,然后配置代理过程以使用负载平衡器:更多详细信息可在此处找到

我尝试了这个。mod_代理_平衡器。但如果在一台服务器上找不到请求的文件,则返回404。有什么解决办法吗?平衡器只是转发请求。如果返回404,则表示文件不存在,因此您应该检查文件所在的服务器。是否可以使用条件语句检测404?这应该在后端服务器上完成。我明白了,谢谢