[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



加強服務器安全性

openssl dhparam -out dhparam.pem 2048
此命令會跑一段時間(約莫兩分鐘,莫急莫荒)
要將三個檔案複製到/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登入網站







因為是免費自簽的憑證,所以會顯示"不安全"的字樣

以上,目前功力就到這兒了,若路過的高手大大有可以指教的再請留言,鞭小力一點,謝謝!

留言

這個網誌中的熱門文章

[Excel]將圖片放置於儲存格中

[電腦軟體]偵測遠端電腦的網路 Port是否開啟

[軟體]AUTOCAD關於開啟圖面時,字型找不到,而要手動指定成 chineset.shx 字型檔問題