[Redmine] SSL設定(啟用https)
[前言]基於提升網站的安全性(其實是要將redmine架在公司的網路架構下),所以必須啟用ssl。說難不難,只是基於節省成本的立場還是用自(免)簽(費)憑證。以下不專業技術分享...
環境前提介紹:
與前幾篇po文同架構,使用decker跑redmine container,所以直接在docker-compose.yml檔中修改必要參數
在yml檔中有差異的點在下方,環境設定中需要將redmine的對應port設定為10445(如果要用其他port跑https也可以,可以改為例如REDMINE_PORT=443,此時下方port:的地方就要改為443:443)
[在此使用port10445做示範,因為目前環境443 port被vmware-hostd占用住 = . = "]
REDMINE的HTTPS改為true
再來volumes資料夾對應要將憑證置放的資料夾導出來外部資料夾中。(有需要在做)
environment:
- REDMINE_PORT=10445
- REDMINE_HTTPS=true
ports:
- "10083:80"
- "10445:443"
volumes:
- ./redmine/data/certs:/home/redmine/data/certs
設定完成docker-compose後啟動container
在container的啟動log中可以看到SSL keys and certificates were not found.(後續建置ssl若沒有成功可以透過此方法看一下此處是否是沒有抓到檔案)
接下來直接進入到container的shell中(正統方法),在此使用無腦方法透過vscode的套件進入
接下來就要參考目前redmine docker image提供者(sameersbn)網站的敘述設定
步驟1:建立伺服器私鑰
openssl genrsa -out redmine.key 2048
步驟2:建立證書簽名請求(CSR)
openssl req -new -key redmine.key -out redmine.csr
此處會要求填寫一些資訊
步驟3:使用私鑰和CSR簽署證書
-days後面代的是證書期限365為365天有效
openssl x509 -req -days 365 -in redmine.csr -signkey redmine.key -out redmine.crt
加強服務器安全性
要將三個檔案複製到/home/redmine/data/certs資料夾中,並將redmine.key設定唯讀權限給使用者
mkdir -p /home/redmine/data/certs
cp redmine.key /home/redmine/data/certs
cp redmine.crt /home/redmine/data/certs
cp dhparam.pem /home/redmine/data/certs
chmod 400 /home/redmine/data/certs/redmine.key
大功告成,重啟container,然後透過https登入網站
因為是免費自簽的憑證,所以會顯示"不安全"的字樣
以上,目前功力就到這兒了,若路過的高手大大有可以指教的再請留言,鞭小力一點,謝謝!
留言
張貼留言