Apex应用从HTTP转HTTPS:Apex内部署通配符SSL证书方案咨询
在Oracle APEX内部部署通配符SSL证书实现HTTPS转换方案
前提说明
已完成实例层面的SSL基础配置(如端口443开放、服务器端SSL终止设置等),且持有有效的通配符SSL证书文件(包含私钥.key、主证书.crt、中间证书.bundle.crt)。
具体实现步骤
1. 上传证书文件到数据库服务器
- 将通配符证书的三个文件上传到Oracle数据库服务器的安全目录,比如
/u01/app/oracle/ssl_certs/ - 执行命令设置文件权限,保证Oracle用户可读取且文件安全:
chown oracle:oinstall /u01/app/oracle/ssl_certs/* chmod 600 /u01/app/oracle/ssl_certs/*
2. 创建Oracle SSL钱包存储证书
用orapki命令行工具创建并配置钱包:
- 创建自动登录的SSL钱包:
orapki wallet create -wallet /u01/app/oracle/ssl_wallet -pwd YourStrongWalletPassword -auto_login - 导入私钥与主证书:
orapki wallet add -wallet /u01/app/oracle/ssl_wallet -pwd YourStrongWalletPassword -private_key /u01/app/oracle/ssl_certs/wildcard.key -cert /u01/app/oracle/ssl_certs/wildcard.crt - 导入中间证书:
orapki wallet add -wallet /u01/app/oracle/ssl_wallet -pwd YourStrongWalletPassword -trusted_cert /u01/app/oracle/ssl_certs/bundle.crt - 验证钱包内容是否正确:
orapki wallet display -wallet /u01/app/oracle/ssl_wallet
3. 配置APEX实例的HTTPS参数
- 登录APEX实例管理界面(若尚未启用HTTPS,暂用HTTP访问
http://<你的实例地址>/apex/apex_admin) - 进入实例设置 > 安全 > SSL配置:
- 填写SSL Wallet路径:
file:/u01/app/oracle/ssl_wallet - 勾选启用HTTPS选项
- 设置HTTPS端口为443(或自定义SSL端口)
- 填写SSL Wallet路径:
- 保存设置后,重启对应服务:
- 用Oracle HTTP Server(OHS)的话,执行
opmnctl restartproc process-type=OHS - 用嵌入式PL/SQL网关的话,执行以下PL/SQL语句:
exec dbms_xdb.sethttpport(0); -- 关闭HTTP端口 exec dbms_xdb.sethttsport(443); -- 启用HTTPS端口
- 用Oracle HTTP Server(OHS)的话,执行
4. 配置应用强制HTTPS访问
- 进入目标APEX应用的应用构建器
- 打开共享组件 > 安全属性:
- 将会话保护设为
必须 - 将允许的协议设为
HTTPS only
- 将会话保护设为
- 可选:添加自动重定向逻辑,在应用全局页面创建前置处理过程:
IF owa_util.get_cgi_env('SERVER_PORT') != '443' THEN owa_util.redirect_url('https://' || owa_util.get_cgi_env('SERVER_NAME') || owa_util.get_cgi_env('REQUEST_URI'), true); END IF;
5. 验证配置效果
- 用HTTP访问应用,检查是否自动跳转到HTTPS
- 确认浏览器地址栏的SSL证书显示有效(锁图标正常,证书匹配通配符域名)
- 测试应用内所有链接,替换硬编码的HTTP地址为相对路径或HTTPS地址
内容的提问来源于stack exchange,提问作者Omatayo Holder
相关产品推荐
相关产品推荐

