oracle ohs默认是开启https服务,证书使用自签名证书,端口是4443
不是https默认的443
。关于如何导入第三方证书前面的文章已经介绍过了,详细步骤参考oracle ohs导入第三方ssl证书
下面介绍如何将ohs的https服务端口修改为https默认的443
端口,使用默认端口在浏览器访问的时候就不用在地址栏中指定端口号。
写在前面
假设你的ohs安装在/u01/app/Oracle/Middleware/Oracle_WT1
目录下,下文变量$OHS_HOME
表示你ohs的安装目录也就是/u01/app/Oracle/Middleware/Oracle_WT1
步骤
- 修改
$OHS_HOME/instances/instance1/config/OHS/ohs1/ssl.conf
文件
将
# OHS Listen Port
Listen 4443
修改为
# OHS Listen Port
Listen 443
将
##
## SSL Virtual Host Context
##
<VirtualHost *:4443>
修改为
## SSL Virtual Host Context
##
<VirtualHost *:443>
保存退出.
- 重启ohs服务器
cd $OHS_HOME/instances/instance1/bin/
./opmnctl stopall
./opmnctl startall
如果此时不是root用户启动,将启动失败,错误信息:
[2017-06-15T10:08:32.9826+08:00] [OHS] [INCIDENT_ERROR:32] [OHS-9999] [worker.c] [host_id: api.smec-cn.com] [host_addr: 10.1.30.64] [pid: 22180] [tid: 47858836813968] [user: oracle] [VirtualHost: main] (13)Permission denied: make_sock: could not bind to address [::]:443
这是由于linux限制非root
用户无法使用1024
以下端口
- 切换到root用户
cd $OHS_HOME/ohs/bin
ll -a
该目录下有两个文件
-rwxr-x--- 1 oracle oinstall 12105 Nov 19 2011 apachectl
-rwxr-x--- 1 oracle oinstall 13278 Nov 19 2011 .apachectl
.apachectl是隐藏文件需要 ll -a
才能看到
对这两个文件对权限做些修改(修改前最好做好备份)
[root@api bin]# chown root apachectl
[root@api bin]# chown root .apachectl
[root@api bin]# chmod 6750 apachectl
[root@api bin]# chmod 6750 .apachectl
修改后文件权限如下
-rwsr-s--- 1 root oinstall 12105 Nov 19 2011 apachectl
-rwsr-s--- 1 root oinstall 13278 Nov 19 2011 .apachectl
使用root重启服务器
cd $OHS_HOME/instances/instance1/bin/
./opmnctl stopall
./opmnctl startall
查看ohs状态
[root@api bin]# ./opmnctl status -l
4.访问https://host
测试https是否正常