0
我有一个运行多个服务的服务器。其中一个可通过域名“https://www.foo.bar”访问。两个其他服务正在特定端口上运行。所以他们可以通过“https://www.foo.bar:1234”访问。 它是否能够以特定方式配置apache2服务器,因此它始终使用端口443,但具有不同的URL,如“https://www.foo.bar/service1”?如何使用不同的URL而不是端口?
我有一个运行多个服务的服务器。其中一个可通过域名“https://www.foo.bar”访问。两个其他服务正在特定端口上运行。所以他们可以通过“https://www.foo.bar:1234”访问。 它是否能够以特定方式配置apache2服务器,因此它始终使用端口443,但具有不同的URL,如“https://www.foo.bar/service1”?如何使用不同的URL而不是端口?
尝试ProxyPass,你所描述的是一个名为的设置的特殊情况。反向代理:你的httpd将请求转发给其他服务并将答案返回给客户端。 (其他服务发生在你的情况下在同一台机器上运行,但它不需要。一种简单的后端负载平衡的也可以做这样的。)
<Location /service1>
ProxyPass https://localhost:1234
ProxyPassReverse https://localhost:1234
</Location>
要小心,你的其他服务这种设置需要一些基本的支持:如果它返回带有链接的HTML页面,它不能再假设https://www.foo.bar:1234/foo/bar.html
是告诉客户端的正确URL。 httpd不会查看返回的内容并为您重写。