要在Apache虚拟主机中使用ProxyPass配置两个端口,一个用于内部使用,一个用于外部使用,可以按照以下步骤进行设置。
打开Apache的配置文件,通常位于/etc/apache2/apache2.conf
或/etc/httpd/conf/httpd.conf
。
确保mod_proxy
模块已启用。在配置文件中搜索以下行,确保没有注释掉(以#
开头):
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
如果找不到这些行,请取消注释它们(删除#
)并保存文件。
ServerName internal.example.com
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ServerName external.example.com
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
以上代码创建了两个虚拟主机。internal.example.com
用于内部使用,将所有请求代理到本地的8000端口。external.example.com
用于外部访问,将所有请求代理到本地的9000端口。
保存并关闭配置文件。
重启Apache服务器以使更改生效。使用以下命令重启Apache:
sudo service apache2 restart
http://internal.example.com
来访问内部服务,它将代理到本地的8000端口。通过访问http://external.example.com
来访问外部服务,它将代理到本地的9000端口。请注意,您需要将internal.example.com
和external.example.com
替换为您自己的域名或主机名,并根据实际情况更改代理的端口号。