我使用 httpd 服务器进行负载平衡和作为 Web 服务器。我想将我的请求从:http://主机名:端口/服务到http://主机名/服务 如何使用 RewriteRule 或任何其他技术来实现?
答案1
来自:port
URI 方案(RFC 3986,3) 语法成分:
foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/\_________/ \_________/ \__/ | | | | | scheme authority path query fragment
授权的端口子组件由主机后面的十进制可选端口号指定,并以单个冒号 (
:
) 字符与其分隔。port = *DIGIT
方案可以定义默认端口。例如,方案
http
定义了一个默认端口80
,对应于其保留的 TCP 端口号。端口号指定的端口类型(例如 TCP、UDP、SCTP)由 URI 方案定义。如果端口为空或其值与方案的默认值相同,则 URI 生成者和规范化器应省略端口组件及其“:”分隔符。
所以,
http://example.com
仅等于http://example.com:80
https://example.com
仅等于https://example.com:443
- 对于任何其他端口,该端口在 URL 中可见。
如果你有一个 Web 服务,例如,在 上http://example.com:8080/service
,并且你想在 上使用不同的 Web 服务器(例如,作为负载平衡器)http://example.com/service
,那么你需要一个反向代理在 Web 服务器上监听端口80
。在 Apache 中,这是通过模块完成的mod_proxy:
<Location "/service">
ProxyPass "http://example.com:8080/service"
</Location>