使用多个 ProxyPass 配置 Apache
Configure Apache with multiple ProxyPass
我正在尝试将我的 apache 服务器配置为代理以服务于两个内部服务,一个侦听 8080 并且应该接收特定 URL 上的流量,另一个侦听 8077 并且应该接收所有其他 http 流量
我在这两个服务 运行 所在的同一台服务器上部署并配置了 apache,它正在侦听 443 以及所有 SSL 配置,并且工作正常
我还启用了 proxy_module、proxy_http_module 和 proxy_http2_module
我想达到的目标
如果请求的 URL 是 /webhook1 --> 将其传递给 EP1 http://localhost:8080 并且
任何其他请求 URL 应传递给 EP2 http://localhost:8077
第一个服务的当前配置
ProxyPass /webhook1 http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
现在我想定义另一个代理通行证,类似于
ProxyPass / http://localhost:8077
ProxyPassReverse / http://localhost:8077
将两个配置放在一起是行不通的,感谢您在如何配置 apache 以实现我的要求方面提供的帮助
提前致谢
按要求按正确顺序排列 ProxyPass 规则
如果你想评估 /webhook1 规则并将其发送到 8080,否则将流量发送到 8077 规则应按以下顺序
ProxyPass /webhook1 http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
ProxyPass / http://localhost:8077
ProxyPassReverse / http://localhost:8077
你可以在/etc/apache2/sites-enabled/下写ssl.conf文件如下:-
RewriteEngine on
ProxyPass /webhook1 http://127.0.0.1:8080/
ProxyPassReverse /webhook1 http://127.0.0.1:8080/
RewriteRule ^/$ /webhook1/ [R,L]
RewriteEngine on
ProxyPass / http://127.0.0.1:8087/
ProxyPassReverse / http://127.0.0.1:8087/
RewriteRule ^/$ /EP2/ [R,L]
如果apache2配置了ssl证书,会自动跳转到HTTPS。
我正在尝试将我的 apache 服务器配置为代理以服务于两个内部服务,一个侦听 8080 并且应该接收特定 URL 上的流量,另一个侦听 8077 并且应该接收所有其他 http 流量
我在这两个服务 运行 所在的同一台服务器上部署并配置了 apache,它正在侦听 443 以及所有 SSL 配置,并且工作正常
我还启用了 proxy_module、proxy_http_module 和 proxy_http2_module
我想达到的目标
如果请求的 URL 是 /webhook1 --> 将其传递给 EP1 http://localhost:8080 并且 任何其他请求 URL 应传递给 EP2 http://localhost:8077
第一个服务的当前配置
ProxyPass /webhook1 http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
现在我想定义另一个代理通行证,类似于
ProxyPass / http://localhost:8077
ProxyPassReverse / http://localhost:8077
将两个配置放在一起是行不通的,感谢您在如何配置 apache 以实现我的要求方面提供的帮助
提前致谢
按要求按正确顺序排列 ProxyPass 规则
如果你想评估 /webhook1 规则并将其发送到 8080,否则将流量发送到 8077 规则应按以下顺序
ProxyPass /webhook1 http://localhost:8080
ProxyPassReverse /webhook1 http://localhost:8080
ProxyPass / http://localhost:8077
ProxyPassReverse / http://localhost:8077
你可以在/etc/apache2/sites-enabled/下写ssl.conf文件如下:-
RewriteEngine on
ProxyPass /webhook1 http://127.0.0.1:8080/
ProxyPassReverse /webhook1 http://127.0.0.1:8080/
RewriteRule ^/$ /webhook1/ [R,L]
RewriteEngine on
ProxyPass / http://127.0.0.1:8087/
ProxyPassReverse / http://127.0.0.1:8087/
RewriteRule ^/$ /EP2/ [R,L]
如果apache2配置了ssl证书,会自动跳转到HTTPS。