基于Apache的Oracle HTTP Server域名别名端口重定向配置咨询
Oracle HTTP Server (OHS) URL简化配置方案
Got it!既然你已经搞定了DNS映射(把application指向example.net,application-t指向对应地址),那咱们直接通过OHS的虚拟主机配置就能实现URL简化需求,具体操作如下:
1. 定位OHS配置文件
OHS的配置文件通常分为主配置文件httpd.conf和虚拟主机专用配置文件(比如conf.d/virtual_hosts.conf)。建议把虚拟主机配置单独放在一个独立文件中,后续维护更方便。如果没有现成的虚拟主机配置文件,你可以在httpd.conf末尾添加Include conf.d/virtual_hosts.conf来引入自定义配置。
2. 添加虚拟主机反向代理配置
在虚拟主机配置文件中添加以下内容,通过反向代理将新域名映射到原有应用:
# 映射http://application到Life应用(原http://example.net/) <VirtualHost *:80> ServerName application # 核心反向代理规则,将请求转发到原Life应用 ProxyPass / http://example.net/ ProxyPassReverse / http://example.net/ # 可选:配置独立日志,方便排查问题 CustomLog "logs/application_access.log" combined ErrorLog "logs/application_error.log" # 可选:处理Cookie域名适配(如果原应用依赖Cookie会话) ProxyPassReverseCookieDomain example.net application </VirtualHost> # 映射http://application-t到Test应用(原http://example.net:7777/) <VirtualHost *:80> ServerName application-t # 核心反向代理规则,将请求转发到原Test应用 ProxyPass / http://example.net:7777/ ProxyPassReverse / http://example.net:7777/ # 可选:配置独立日志 CustomLog "logs/application-t_access.log" combined ErrorLog "logs/application-t_error.log" # 可选:处理Cookie域名适配 ProxyPassReverseCookieDomain example.net application-t </VirtualHost>
3. 确保必要模块已启用
反向代理依赖mod_proxy和mod_proxy_http模块,检查httpd.conf中是否有以下配置(如果有注释符号#,去掉即可):
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
4. 验证配置并重启OHS
- 先执行配置语法检查,确保没有错误:
(注:$ORACLE_HOME/Oracle_WT1/bin/apachectl configtest$ORACLE_HOME是你的Oracle安装根目录,实际路径可能根据部署环境略有不同) - 如果输出
Syntax OK,就重启OHS使配置生效:$ORACLE_HOME/Oracle_WT1/bin/apachectl restart
额外注意事项
- 确认DNS记录已生效:在客户端执行
ping application和ping application-t,确保解析到正确的服务器IP。 - 防火墙规则:确保服务器80端口对外开放,客户端能正常访问这两个新域名。
- 会话保持:如果原应用有登录会话等需求,务必加上
ProxyPassReverseCookieDomain指令,避免Cookie无法跨域名生效。
内容的提问来源于stack exchange,提问作者Wernfried Domscheit
相关产品推荐
相关产品推荐

