[精讚] [會員登入]
886

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

你可能感興趣的文章

centos7 apache ssl.conf設定狀況 在apache更新或重啟後可能遇到ssl.conf衝突問題

在windows server建立radius服務使用active directory帳號驗證 setup windows server to add radius service using active directory accounts for authentication

bitbucket repository control application setup 安裝完bitbucket服務後,須設定bitbucket.properties

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

how to resolve memory allocation issue on proxmox when creating vm, sometimes the log shows fail message of Cannot_allocate_memory

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

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

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

proxmox5.x using duplicati as cloud backup strategy install duplicati program on Proxmox host for remote backup using google drive account

更新程式環境到wildfly18+openjdk11-phase3: 伺服器環境升級準備 upgrade jdk and wildfly on server

JIRA instance migration phase1 how to migrate JIRA from centos6 to centos7

determine strings that include numbers and spaces differ from Highest and Lowest numbers inside strings that includes spaces