使用frp+Gitlab实现外网访问gitlab以及外网环境下git clone
前期准备工作
一台内网主机(一般是一台centos系统的主机,用来搭建Gitlab)
一台外网服务器(系统无所谓,作用只是提供外网IP,不然在外网环境下去哪访问)
Gitlab环境搭建
搭建教程网上很多也没啥难度,在此就不详细介绍了。
需要解决的问题:
环境搭建完成后,使用本机ip+端口能够实现gitlab的访问及git clone等命令。这些操作在内网环境下使用没有任何问题,但想要外网访问,就没辙了,此篇主要解决就是在外网环境下实现这些操作
frp工具介绍
很简单的一个内网穿透工具,也没啥难度网上多冲浪很容易解决。主要说一下作用:此工具实现将内网服务器下的一个端口转到外网(公网IP)下一个端口,简单理解就是端口绑定,能够将内网主机(或理解为内网ip)中的端口和外网主机(外网ip)中的端口实现一一对应
简单示例:
配置如下:内网主机(客户端):192.168.10.18:22
外网主机(服务端):104.224.189.134:7008
frp工具运行后,访问外网104.224.189.134:7008端口等价于访问192.168.10.18:22
104.224.189.134:7008 == 192.168.10.18:22
主要配置过程
完成下面几个步骤:
主要为frp工具的配置,做2个端口转发,如下:
104.224.189.134:80 --> 192.168.10.18:80 (gitlab网页访问穿透)
104.224.189.134:22 --> 192.168.10.18:22 (git clone等命令穿透)
(具体端口根据自己情况修改)
此时,如果直接git clone使用104.224.189.134时,会提示输入git用户密码
解决方法,将外网服务器中的ssh key添加到gitlab中你的用户中即可
到此,可以完全在外网下使用gitlab