Назад | Перейти на главную страницу

Исключить URL-адреса, содержащие определенный порт, из передачи прокси

как я могу заставить ProxyPass / ProxyPassReverse НЕ передавать запрос, если клиент предоставляет определенный порт?

Следующее передает КАЖДЫЙ запрос к машине правильно:

<VirtualHost _default_:443>
  SSLProxyEngine on
  ProxyPass / http://a.b.c.d:9000/
  ProxyPassReverse / http://a.b.c.d:9000/

Теперь я не хочу передавать запросы, поступающие на порт 8080:

http: //a.b.c.d: 8080 не следует пропускать.

Это возможно?

Вы можете попробовать что-то вроде catch all vhost после объявления: 443 vhost:

<VirtualHost _default_:*>
DocumentRoot /www/default
...
</VirtualHost>

Затем используйте AliasMatch или RewriteRule, чтобы переписать любой запрос, который попадает в этот виртуальный хост, на информационную страницу или что угодно. Вот отличная справочная страница о приоритете сопоставления виртуальных хостов: http://httpd.apache.org/docs/2.2/vhosts/details.html