文章目錄
- 效果展示
- 架構設計
- 申請免費阿里云服務器
- 嘗試連接遠程服務 開放端口
- 申請域名 綁定云服務器
- 組網
- 網關服務器配置轉發代理
- 網關服務器配置ssl 證書
- 問題排查
- 證書申請時報錯:Set the \`server_name\` directive ti use the Nginx installer.
- gitlab私有化部署搭建
- gitlab服務器 external_url出口由原ip修改為域名
- 操作步驟
- 步驟一:修改/etc/gitlab/gitlab.rb文件
- 步驟二:重啟gitlab配置
- 錯誤排查:證書申請已達上限
- 拷貝證書
- 修改/etc/gitlab/gitlab.rb文件
- 重啟gitlab配置
- 步驟三 gitlab服務器 防火墻放行443端口
- 步驟四 網關服務器修改nginx配置
關鍵詞:
個人網站搭建
gitlab私有化部署實現線上發布
阿里云服務
個人域名
zerotier
注意:操作時注意操作的網關服務器還是gitlab服務器
效果展示
個人域名下可以訪問私有化部署的gitlab賬號
架構設計
申請免費阿里云服務器
注意:選擇香港服務器。原因:域名綁定IP時,大陸服務器需要備案,試用機器不支持備案
centos7 gitlab 試用阿里云服務器
嘗試連接遠程服務 開放端口
centos7 gitlab 嘗試連接遠程服務 開放端口
申請域名 綁定云服務器
注意:過程中需要一些認證、審核,比如注冊局審核,一般等待幾分鐘就能收到成功短信
centos7 gitlab 申請域名 綁定云服務器
組網
zerotier 官網:https://my.zerotier.com/
# 服務器下載zerotier工具
curl -s https://install.zerotier.com | sudo bash
# 加入網絡
zerotier-cli join 你的網絡ID
centos7 gitlab 組網
網關服務器配置轉發代理
# 創建www.zhangluyue.asia.conf配置文件
# 注意:文件名稱必須使用完整域名,不然下一步申請證書找不到
vim /etc/nginx/conf.d/www.zhangluyue.asia.conf
server {listen 80;server_name www.zhangluyue.asia; // 完整域名# return 404; # managed by Certbotlocation / {client_max_body_size 50m;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://172.28.0.2/; #后端 真實服務器index index.html index.htm A1-index.html;}}
網關服務器配置ssl 證書
注意:免費證書有數量限制,7天內同一域名最多申請5個
證書不安全 | 證書安全 |
---|---|
![]() | ![]() |
下載Let’s Encrypt 證書工具(Certbot) 及其 Nginx 插件,自動申請和配置免費的 SSL 證書,實現網站的 HTTPS 加密訪問。如果python3-certbot-nginx插件下載失敗了,就嘗試問AI進行手動配置。
# 在網關服務器上下載cerbot及其nginx插件
yum install epel-release
yum install certbot python3-certbot-nginx# 自動為域名配置免費的SSL證書,并在nginx服務器上啟用HTTPS加密訪問
sudo certbot --nginx -d www.zhangluyue.asia
證書申請完成后www.zhangluyue.asia.conf文件被修改
問題排查
證書申請時報錯:Set the `server_name` directive ti use the Nginx installer.
問題原因:.conf文件名稱不是域名。需要保證文件名稱與域名一致。
gitlab私有化部署搭建
centos7 gitlab私有化部署搭建 踩坑之旅-CSDN博客
gitlab服務器 external_url出口由原ip修改為域名
在gitlab服務器上,修改external_url值為相應域名
原配置external_url | 現配置external_url |
![]() | ![]() |
原gitlab external_url | 現gitlab external_url |
![]() | ![]() |
操作步驟
步驟一:修改/etc/gitlab/gitlab.rb文件
# 在gitlab服務器上編輯/etc/gitlab/gitlab.rb
vim /etc/gitlab/gitlab.rb
如果gitlab已啟動,出現如圖提示,選擇E
修改external_url為https://www.zhangluyue.asia
步驟二:重啟gitlab配置
gitlab-ctl reconfigure
由于配置的是https協議,所以gitlab默認會拉取證書。
錯誤排查:證書申請已達上限
如果之前拉取證書達到5個,無法申請新的證書,可以拷貝已有證書。
拷貝證書
* : 證書支持復用
# 172.28.0.2是目的zerotier ip地址
scp /etc/letsencrypt/live/www.zhangluyue.asia/fullchain.pem root@172.28.0.2:/etc/gitlab/ssl/
scp /etc/letsencrypt/live/www.zhangluyue.asia/privkey.pem root@172.28.0.2:/etc/gitlab/ssl/
修改/etc/gitlab/gitlab.rb文件
# 設置外部訪問地址
external_url 'https://www.zhangluyue.asia'# 禁用 GitLab 自帶的 Let's Encrypt 自動證書生成(關鍵!)
letsencrypt['enable'] = false# 手動指定已有的證書和私鑰路徑(指向你拷貝的文件)
nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
重啟gitlab配置
gitlab-ctl reconfigure
步驟三 gitlab服務器 防火墻放行443端口
如果防火墻啟動的話,gitlab服務器防火墻放行443端口
# 查看防火墻狀態
systemctl status firewalld
# 允許防火墻通過8888端口
firewall-cmd --add-port=443/tcp --permanent
# 重新加載防火墻規則
firewall-cmd --reload
步驟四 網關服務器修改nginx配置
# 編輯www.zhangluyue.asia.conf文件,代理轉發修改為https協議
vim /etc/nginx/conf.d/www.zhangluyue.asia.conf
# 重啟nginx
systemctl restart nginx