GitLab是一個Web應用程序,通常運行在HTTPS協議上,要求使用SSL/TLS憑證確保數據在傳輸過程中的安全性。在建立GitLab server容器的過程中需要SSL 憑證文件(private-key.key 和 ssl-cert.crt),可以通過將SSL憑證文件掛載到容器內部來提供這些憑證。
SSL憑證文件通常包括私鑰(private-key.key)和SSL證書(ssl-cert.crt),可以使用 OpenSSL 工具建立自簽名的 SSL 憑證文件。以下是製作 SSL 憑證文件的步驟:
1.安裝 OpenSSL:(Ubuntu ):
sudo apt-get update
sudo apt-get install openssl
2.生成私鑰文件(例如,private-key.key):生成一個私鑰文件使用它來簽名 SSL 憑證。
openssl genpkey -algorithm RSA -out private-key.key
3.生成自簽名 SSL 憑證:使用下列指令生成自簽名的 SSL 憑證(例如,ssl-cert.crt),生成一個有效期為 365 天的自簽名 SSL 憑證。
openssl x509 -req -days 365 -in csr-file.csr -signkey private-key.key -out ssl-cert.crt
備註:
openssl x509 命令用於自簽 SSL 憑證的生成,其中 -days 選項用於設置 SSL 憑證的有效期,通常以天為單位。如果不希望設置有效日期,可以將 -days 選項設置為 0 或不使用 -days 選項。這樣將生成一個無限期有效的自簽 SSL 憑證, 以下是一個範例是生成一個無限期有效的自簽 SSL 憑證:
openssl x509 -req -in csr-file.csr -signkey private-key.key -out ssl-cert.crt
version: '3'
services:
gitlab:
image: gitlab/gitlab-ce
ports:
- "80:80"
- "443:443"
#將SSL憑文件掛載到GitLab容器
volumes:
- /path/to/ssl-cert.crt:/etc/gitlab/ssl/ssl-cert.crt
- /path/to/private-key.key:/etc/gitlab/ssl/private-key.key
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://your.gitlab.domain'