gogs 设置 Nginx 反向代理

设置 Nginx 方向代理

使用Nginx做反向代理,需要配置Nginx,同时将用于 git clone 的两个URL(分别用于 git 和 http 方式)都配置为 http://gogs.www.com,Gogs的端口不变,仍是3000:

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name gogs.www.com;

location / {
  proxy_set_header X-Real-IP $remote_addr;
  proxy_pass http://$server_addr:3000$request_uri;
}

ssl on;
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/kikakika.key;
ssl_session_timeout 5m;
}
server {
  listen 80;
  listen [::]:80;
  server_name gogs.kikakika.com;

  return 301 https://$host$request_uri;
}

后台运行 gogs

启动命令并在后台运行

nohup ./gogs web &

如果你已经启动 gogs 了,可以通过 ctrl + z 将命令转入后台并停止运行,然后通过 bg 命令将后台停止运行的命令在后台启动运行。如果后台有多个停止的命令,可以先用 jobs 命令查看任务编号,然后用 bg 编号 来启动指定的任务。

  • Nginx 配置文件
    这里使用 Nginx 作为反向代理,通过域名访问 Gogs:
upstream gogs {
  server 127.0.0.1:11080 fail_timeout=0;
}
server {
  listen 443 ssl http2;
  server_name gogs.kikakika.com;

ssl on;
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/kikakika.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://gogs;
}
}
server {
listen 80;
server_name gogs.kikakika.com;

return 301 https://$server_name$request_uri;
}