gogs配置https
過程,給gogs設定https,當然前提有自己的域名,自己的證照。
並且本文解決了
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413
這個錯誤。
第一步,安裝http的gogs
到官網下載,解壓,然後其實無需安裝,直接就作為程式跑。
最開始,執行 ./gogs web
然後開啟防火牆3000,開啟瀏覽器 ip:3000/
進行一系列配置。填ip就行。
最後,為方便使用,做個服務。
安裝 systemctl的服務,我的伺服器是centos 8
vi /usr/lib/systemd/system/gogs.service
我這裡示範的是錯誤的用法,正確應該自己建立使用者。
這裡額外說一句,如果您打算採用ssh形式網址的git倉庫,請絕對不要使用root使用者,因為會遇到一些問題,gogs會自己修改認證檔案。
如果像我這樣用 http 或 https 域名的倉庫,就關係不大。
[Unit]
Description=Gogs
After=syslog.target
After=network.target
# After=mariadb.service mysqld.service postgresql.service memcached.service redis.service
[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
Type=simple
User=root
Group=root
WorkingDirectory=/root/temp/gogs
ExecStart=/root/temp/gogs/gogs web
Restart=always
Environment=USER=root HOME=/root
ProtectSystem=full
PrivateDevices=yes
PrivateTmp=yes
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
第2步: nginx配置
首先在第一步確保gogs能正常執行,這時我們才修改https,做的工作比較多。
現在要先去域名配置,解析。
server {
listen 80;
# 血淚教訓,一定要加
client_max_body_size 100m;
server_name gog.xxx.com;
location / {
rewrite ^ https://gog.xxx.com$request_uri? permanent;
}
}
server {
listen 443 ssl;
# 血淚教訓,一定要加
client_max_body_size 100m;
server_name gog.xxx.com;
ssl_certificate /etc/nginx/pem/xxx.com.pem;
ssl_certificate_key /etc/nginx/pem/xxx.com.key;
location / {
proxy_pass http://localhost:3000;
}
}
第3步 gogs 的配置
修改 程式目錄/custom/conf/app.ini
DOMAIN 顯示在 ssh倉庫的地址。
EXTERNAL_URL顯示在 http倉庫的地址。
[server]
DOMAIN = gog.xxx.com
HTTP_PORT = 3000
EXTERNAL_URL = https://gog.xxx.com/
DISABLE_SSH = false
SSH_PORT = 22
START_SSH_SERVER = false
OFFLINE_MODE = false
第4步:關閉防火牆
現在立刻完全關閉3000,
然後下載地址變成這樣:
git clone https://gog.xxx.com/myuser/myproject.git
這樣就安全了!
第5步,總結:
1、git倉庫地址必須改變成使用域名,且使用https
2、在瀏覽器登入 gogs 的管理控制檯:使用 gog.xxx.com,就行。
3、解決了 error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 這個錯誤。透過nginx的配置解決的。
本作品採用《CC 協議》,轉載必須註明作者和本文連結