公司内网有一台服务器已经搭建好了 GitLab
现在想通过一台连通外网的服务器 nginx 做代理 连接到这台内网
在 nginx 上配置如下
location /gitlab {
proxy_pass http://192.168.22.188:8888;
proxy_redirect default;
}
外网通过 http://xxx.xxx.xxx.xxx/gitlab
结果首页是可以打开, 但是所有的 css 都没有了。
另外只要登录, 就自动重定向成了
http://xxx.xxx.xxx.xxx/dashboard
导致除了首页 其他所有页面都无法打开?
怎么配置 nginx 才能 css 问题 和 错误重定向问题?
1
debiansid 2015-11-13 09:55:54 +08:00 via iPhone
|
2
oott123 2015-11-13 10:25:16 +08:00 via Android
最好不要放到二级目录去
|
3
powergx 2015-11-13 11:05:12 +08:00
为什么不用耳机域名呢
|
4
beneo 2015-11-13 11:10:20 +08:00
gitlab 本身是自带 nginx 的,你要关闭原来那个,然后在自己的 nginx 上配上 passenger 什么的
总之,你文档没读 -_-!!! |
5
cxq OP @beneo 哦 你好像误会了。 是因为公司有一台统一的服务器搭了 nginx 是互联网入口. GitLab 是搭在内网的一台设备上的。 所以跟 GitLab 的自带的 nginx 没什么关系吧 应该。
好像上面几位也误会了。 |
6
cxq OP @powergx 因为用 Omnibus 搭的。 配置 external_url 时候加二级域名是不能启动的。 这个我也搜了很久 没找到解决办法。
|
7
cszchen 2015-11-13 13:04:38 +08:00
gitlab 我也试过,不想用自带的 nginx , mysql 等,因为服务器上已经有这些服务了,结果折腾了好久也没搞定。换了 gogs ,非常简单,不过功能应该没有 gitlab 强大,但是自用足够了。
|
8
orzfly 2015-11-13 13:10:07 +08:00
|
10
orzfly 2015-11-13 13:10:53 +08:00
https://github.com/gitlabhq/gitlabhq/blob/master/config/application.rb#L55
# Relative url support # Uncomment and customize the last line to run in a non-root path # WARNING: We recommend creating a FQDN to host GitLab in a root path instead of this. # Note that following settings need to be changed for this to work. # 1) In your application.rb file: config.relative_url_root = "/gitlab" # 2) In your gitlab.yml file: relative_url_root: /gitlab # 3) In your unicorn.rb: ENV['RAILS_RELATIVE_URL_ROOT'] = "/gitlab" # 4) In ../gitlab-shell/config.yml: gitlab_url: "http://127.0.0.1/gitlab" # 5) In lib/support/nginx/gitlab : do not use asset gzipping, remove block starting with "location ~ ^/(assets)/" # # To update the path, run: sudo -u git -H bundle exec rake assets:precompile RAILS_ENV=production # # config.relative_url_root = "/gitlab" |
11
lhbc 2015-11-13 13:13:34 +08:00
把某个目录反代到后端的根目录
一般都是有问题的 我看了下公司的 gitlab ,用的都是 <link href="/assets/application-b6b8b78ea4c3735483f6100ef977bb15.css" media="all" rel="stylesheet" /> <link href="/assets/print-47fe51cdf70398e5e54b544e0f5cc718.css" media="print" rel="stylesheet" /> <script src="/assets/application-225958ece19ac21c75cc49ae0d2719ec.js"></script> 这样的绝对路径 这样反代肯定是有问题的 建议修改 gitlab 的根目录为 /gitlab 然后在前端反代 /gitlab 目录就正常了 |
13
cevincheung 2015-11-13 13:44:54 +08:00
用 gogs
|
14
jarlyyn 2015-11-13 13:48:26 +08:00
用 docker 解决?
|
15
jarlyyn 2015-11-13 13:52:38 +08:00
Omnibus 版本我也用过,反代的时候把我搞得欲仙欲死的。
还是用 docker 版本好,不用考虑太多 下载公司跑的就是 docker 版本的。 |
18
HentaiMew 2015-11-13 13:57:47 +08:00
gitlab 有 nginx 的配置文件,你需要手动修改域名。。。。
|
20
HentaiMew 2015-11-13 14:05:21 +08:00
@cxq 不会啊,你需要用命令让 gitlab 重新 reload 配置。假如你之前就绑定过域名,想换域名的话,光改 DNS 解析是没用的,因为仓库的域名还是原来的。 gitlab 有一大堆配置,包括域名、端口等等等等。
|
21
qqjt 2015-11-13 14:06:52 +08:00
server
{ listen 80; server_name xxx.xxx; location / { proxy_redirect off; 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://127.0.0.1:233; } access_log /var/log/nginx/gitlab-access.log; } 我是这么配的, gitlab 地址是 http://127.0.0.1:233 |
25
powergx 2015-11-13 20:38:35 +08:00 via iPhone
@jarlyyn external url 写 https ://git.xxx.com 就可以了啊
|
26
beling 2015-11-14 11:07:13 +08:00
不想用自带的 nginx , mysql
那你自己编译装啊 可以选择 nginx , Apache , mysql , pgsql |