[精讚] [會員登入]
862

setup jira using ssl on apache reverse proxy

設定jira使用https連線

分享此文連結 //n.sfs.tw/12125

分享連結 setup jira using ssl on apache reverse proxy@外行中的外行
(文章歡迎轉載,務必尊重版權註明連結來源)
2023-09-07 22:05:41 最後編修
2018-01-18 14:45:08 By jung
 

##2019新增

jira的線上商店marketplace在設定完轉址後始終無法連上

試了很久終於發現~是rewrite rule出錯了

以下是正確的設定,到httpd/conf.d/下面的jira設定檔

RewriteRule (.*) http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] ###之前就是在[ ]標籤多了一個L,代表只要符合這條件就不再檢查,於是marketplace無法使用下面轉址回到proxy設定好的jira頁面@@
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

 

在設定JIRA使用https連線上

網路上的文件都是直接使用http連jira目錄的做法

reverse proxy不用照這麼多步驟

首先照certbot安裝好SSL憑證

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-centos-7

在取得憑證的過程中,選擇強制將所有連線轉到https

這樣certbot會幫apache產生一個XX-le-ssl.conf的設定檔

自動開啟Rewrite功能並把ssl憑證檔案路徑加上去

接下來,在原本80轉8080的reverse proxy設定檔那邊

把原本引導轉埠的設定註解取消,只留下設定讀取權限的部分  

<VirtualHost *:80>

ServerName jira.teliclab.info

ProxyRequests Off

ProxyVia Off

<Proxy *> Require all granted </Proxy>

##註解掉原本的reverse proxy 設定 ##

RewriteEngine on

RewriteCond %{SERVER_NAME} =jira.teliclab.info

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

</VirtualHost>

##注意apache2.2沒有[END]參數,建議改成

RewriteCond %{HTTPS} off
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

##

完成後重啟apache就可以了

apachectl restart

原本以為這樣就結束了!

沒想到jira的server.xml要改正,否則jira會說你不適用https連線的畫面

然後使用者登入就看不到動態牆@@

但是很重要的是! 一定要等jira完全關閉才能更改server.xml

否則無法載入修改後的設定值喔!

先到/opt/atlassian/jira/bin/使用sh腳本(stop-jira.sh&shutdown.sh)關閉jira

或用/etc/init.d/jira stop

執行完其實jira並沒有關閉,還留著一個pid

建議用jiraForceShutdownScript1.sh + jiraForceShutdownScript2.sh再執行一次

最後再用ps -aux | grep 'jira'檢查,確定完全沒有任何jira程序在執行(jira會連結mysql所以mysql還會看到jira字眼,不用理會)

完全停止jira後

到/opt/atlassian/jira/conf修改server.xml檔案,參考官方文件

https://confluence.atlassian.com/adminjiraserver073/integrating-jira-with-apache-using-ssl-861253896.html

重點是把scheme, proxyname, proxyport改對

scheme="https" proxyName="yuor proxy server hostname" proxyPort="443"

存檔後就是要重新啟動jira

我試了很多種方法,最後發現直接用/opt/atlassian/jira/bin下面的startup.sh最直接

這樣才是真的完成了Orz

 

接下來取得了SSL正式憑證

有二個檔案必須修改,先將jira服務停止

1.apache的ssl.conf,告訴apache如何取得憑證檔案

SSLCertificateFile /etc/pki/tls/certs/server.cer ###domain name通過ssl憑證
SSLCertificateKeyFile /etc/pki/tls/private/privatekey2019.key ###CA發的私鑰
SSLCertificateChainFile /etc/pki/tls/certs/uca.cer ###CA發的chain
SSLCACertificateFile /etc/pki/tls/certs/root.cer ###CA發的根網域憑證

 

2.產生java用的jks匯入java (但做完我的jira還是沒有通過一些SSL檢測網站的java程式SSL測試@@)

###alias名稱指的是在jks檔中記錄加密方式的欄位
###引入root uca server紀錄加到jks檔
1./opt/atlassian/jira/jre/bin/keytool -import -trustcacerts -alias rootca -keystore /opt/atlassian/jira/jre/lib/security/jira2019.jks -file /home/jung915/jira_ssl/root.cer
2./opt/atlassian/jira/jre/bin/keytool -import -trustcacerts -alias uca -keystore /opt/atlassian/jira/jre/lib/security/jira2019.jks -file /home/jung915/jira_ssl/uca.cer
3./opt/atlassian/jira/jre/bin/keytool -import -trustcacerts -alias jira2019 -keystore /opt/atlassian/jira/jre/lib/security/jira2019.jks -file /home/jung915/20181108ssl/server.cer
###先把root uca二個檔案合併
cat root.cer uca.cer > all.crt
###加入私鑰檔產生p12格式的加密內容
openssl pkcs12 -export -chain -in server.cer -inkey privatekey.key -out jira2019.p12 -name jira2019 -CAfile all.crt
###使用p12檔製作jks
/opt/atlassian/jira/jre/bin/keytool -importkeystore -destkeystore /opt/atlassian/jira/jre/lib/security/jira2019.jks -srckeystore jira2019.p12 -alias jira2019
###這邊就是我搞不懂的地方了,公私鑰都加入了但是順序要怎麼做才對?

因為用p12製作jks的時候,會問你alias已經存在,是否要覆蓋

所以我認為正確解法應該是前面1-3引入憑證檔的步驟不需要了

直接產生p12檔然後做成jks匯入jira就可以

預設password: changeit

 

3.修改server.xml裡面keystore指定jks檔案的位置

最後重新啟動jira

 

END

你可能感興趣的文章

logrotate執行權限問題 logrotate will failed to execute if selinux policy not setup correctly

JIRA using gmail as smtp outgoing mail sender 如何設定jira使用gmail信箱送信

nginx+ssl+certbot安裝設定雜記 using certbot on nginx to setup https connection

wireguard vpn setup and implementation 在UBUNTU20.04LTS server架設wireguard vpn讓ios及android裝置使用

在家設定openvpn server on pfsense 在家設定openvpn server on pfsense

在ESXI6.7修改系統時間 how to modify esxi system time setting for good

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

使用virtualbox每次都忘記的事情 share folder from win host to linux guest vm

如何在ubuntu 18.04上設定一開機就啟動virtualbox某個vm a way to setup ubuntu18.04 for start vm on boot

在ubuntu18.04桌面版安裝中文注音輸入法 如何在ubuntu桌面使用新酷音注音輸入法

縣市端新增syncdata spi功能 為了讓部裡主機可以透過OAUTH2流程,呼叫縣市同步SYNCDATA 的API

更新程式環境到wildfly18+openjdk11-phase4: 認證程式更新 認證程式更新