1. 在宝塔或者linux命令行系统内安装gitlab相关文件
2. 配置反向代理
server {
listen 80;
# 外网访问域名,此域名是提供给最终用户的访问地址
server_name 域名;
location / {
# 客户端请求正文的最大允许大小
# 这个大小的非常重要,如果git版本库里有大文件,设置的太小,文件push会失败,根据情况调整
client_max_body_size 50m;
# 安全相关 header
# 禁止网站被嵌入到其它网页中,如:iframe、embed等,SAMEORIGIN表示该页面仅能在相同域名页面的iframe中展示
add_header X-Frame-Options "SAMEORIGIN" always;
# 当检测到XSS攻击时阻止页面加载
add_header X-XSS-Protection "1; mode=block" always;
# 禁止请求类型为style和script时,但MIME类型却不为text/css和JavaScript的请求
add_header X-Content-Type-Options "nosniff" always;
proxy_redirect off;
#以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理到 gitlab 内置的 nginx
proxy_pass http://ip或域名:端口号;
index index.html index.htm;
}
# 防止爬虫抓取
if ($http_user_agent ~* "360Spider|JikeSpider|Spider|spider|bot|Bot|2345Explorer|curl|wget|webZIP|qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot|NSPlayer|bingbot") {
return 403;
}
}
3. 修改项目clone或push时的地址
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
- 修改
gitlab:
## HTTP/S方式拉取项目时的域名
host: 域名
port: 80
https: false
## SSH方式拉取项目时的域名
ssh_host: 域名