OS/400 是 V5R4,系统上安装了 Java 1.6,并且我们正在使用 Tomcat 5.5,但是在使用 HTTPS 让 Tomcat 运行时遇到了困难。
我们创建了一个自签名证书,并取消注释了 server.xml 文件中的重要部分,更改了指向证书的参数(我认为该证书需要位于 /QOpenSys 下)。HTTP 可以工作,但 HTTPS 不行,因此肯定是出了问题,很可能是 server.xml 配置出了问题。
答案1
经过多次 Google 搜索,我们发现了以下内容:
首先,确保您的 JAVA_HOME 环境变量已设置:
WRKENVVAR LEVEL(*SYS)
WRKENVVAR LEVEL(*JOB)
如果未设置 JAVA_HOME,请添加指向 Java 路径的环境变量。就我的情况而言:
JAVA_HOME = '/QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit'
如果您已经有自己的证书,请使用它;否则,请生成自签名证书,如下所示:
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /QOpenSys/usr/local/ssl/test.crt
(将 test.crt 替换为您想要的证书名称,按照提示操作)
使用 WRKLNK 导航到 Tomcat 安装目录的 conf 文件夹。编辑 server.xml 并取消注释并修改以下部分:
<Connector port="8443" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" keystoreFile="/QOpenSys/usr/local/ssl/test.crt"
algorithm="IbmX509" />
附注:我们一直缺少 algorithm="IbmX509" 标签,这就是我们之前的尝试失败的原因。
使用 QSH,导航到 Tomcat 安装目录的 bin 文件夹。启动 Tomcat:
./startup.sh
打开浏览器并尝试一下:
https://1.1.1.1:8443/
如果您使用自签名证书,您会收到警告。
如果一切按计划进行,请返回 server.xml 并禁用 http 访问(如果您想限制对 https 的访问)。