jira,confluence从http转https连接 windows
JIRA8.3,confluence6.13
原本只供内网访问的jira,confluence要开启外网访问了。原有的http方式就不合适了,因此考虑更改为https方式供外网访问服务器。
目前使用的方式是分别把jira,confluence的应用变为http自动跳转https方式访问。
工具软件Openssl win64版: https://jaist.dl.sourceforge.net/project/openssl/openssl-1.0.2j-fips-x86_64/
为了尽量不出问题,所以尽量遵从官方的方式进行。参考官方帮助页面 https://confluence.atlassian.com/adminjiraserver/running-jira-applications-over-ssl-or-https-938847764.html
1. 官方方法1-13步
完成第1-13步。生成的jira的csr文件为jira.csr。
后面的CA认证就需要自己解决了。
2. 生成key(CA的key)
openssl genrsa -des3 -out server.key 2048
这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。
***有可能会报错,"unable to load private key 1404:error:06065064:..."。这时删除 -des3 的加密设置即可解决。
3. 生成CA的crt(用来认证之前jira生成的csr文件)
openssl req -new -x509 -key server.key -out ca.crt -days 3650
***有可能报错,“WARNING: can't open config file: c:/openssl/openssl.cnf”。这是没找到配置文件,需要先设定下环境变量来解决。(使用cmd,换成自己的安装位置即可)
set OPENSSL_CONF=D:\OpenSSL\bin\openssl.cnf
4. 为jira的csr文件签名
openssl x509 -req -days 3650 -in jira.csr -CA ca.crt -CAkey server.key -CAcreateserial -out jira.crt
5. 继续完成官方后续的15-19步
6. 继续完成官方后续的“Configuring your web server using the Jira configuration tool”部分
7. confluence参照https://confluence.atlassian.com/conf615/running-confluence-over-ssl-or-https-967338590.html
我继续延用了jira使用的keystore。目前看没有什么问题。
8. 无数的坑
* 如果仅jira转https,而confluence为http,怎confluence页面会经常出现会话过期提示,关闭浏览器重开才可以正常使用。
解决方法:confluence也转为https
* JIRA按照官方教程转为https后,子页面中只有browse/下子页面会自动从http跳转https。需在web-inf/web.xml中,最下面的url-pattern中加上
<url-pattern>/*</url-pattern>
* JIRA的自动添加的https的connector中可能会缺少特殊字符处理,需添加如下属性,否则无法启动。
relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"*还有小程序健康检查和应用程序链接问题。查看日志,可以看到报错"PKIX path building failed"。
keytool -genkeypair 。。。
2. 将上面第3步生成的CA.crt在服务器上JAVA的cacerts证书库中
keytool -import -alias ServerCA -keystore “%JAVA_HOME%\jre\lib\security\cacerts” -file ca.crt
3. Windows下安装CA.crt到受信任的根证书颁发机构
双击CA.crt,选择安装证书,安装到受信任的根证书颁发机构。
修改openssl.cnf文件 1> 在 [ req ] 块下取消注释行 req_extensions = v3_req 2> 确保[ req_distinguished_name ]下没有 0.xxx 的标签,有的话把0.xxx的0. 去掉 3> 在 [ v3_req ] 块下增加一行 subjectAltName = @alt_names 4> 在文件末尾增加如下信息: [ alt_names ] DNS.1 = www.liqingjht.com DNS.2 = liqingjht.com
生成key(server与ca) openssl genrsa -out server.key 2048 依据配置文件生成csr(server与ca) openssl req -new -key server.key -out server.csr -config openssl.cnf 查看csr文件是否正确 openssl req -text -noout -in server.csr 生成ca证书 openssl req -new -x509 -days 3650 -keyout ca.key -out ca.crt -config openssl.cnf 自签名(自动创建序列文件,带多域名信息) openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -extensions v3_req -extfile openssl.cnf 生成p12文件 openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12 -name SVR -CAfile ca.crt -caname root -chain 使用软件portecle导入p12文件,导入ca.crt,做为CAreply导入server.crt,保存为jks文件。