如果客户端提供了某个端口,我该如何强制 ProxyPass / ProxyPassReverse 不传递请求?
以下操作将正确传递对机器发出的每个请求:
<VirtualHost _default_:443>
SSLProxyEngine on
ProxyPass / http://a.b.c.d:9000/
ProxyPassReverse / http://a.b.c.d:9000/
现在我不想传递进入端口 8080 的请求:
http://abcd:8080不应通过。
这可能吗?
答案1
您可以在 :443 vhost 声明之后尝试类似 catch all vhost 的操作:
<VirtualHost _default_:*>
DocumentRoot /www/default
...
</VirtualHost>
然后使用 AliasMatch 或 RewriteRule 将到达此虚拟主机的任何请求重写为信息页面或任何您想要的内容。以下是有关虚拟主机匹配优先级的出色参考页面:http://httpd.apache.org/docs/2.2/vhosts/details.html