今天给大家分享下怎么把本机的 web 服务映射到公网去访问,在做项目的时候,我们如果需要临时给其他同事进行分享,而不想直接扔到测试机,进行调试,可以使用frp 映射 http 端口到公网 ip 访问。具体步骤如下。
服务端配置文件
[root@CTN-QD-247 ~]# cat /etc/frps_www.ini
# frps.ini
[common]
bind_port = 8000 # frp 的进程端口
vhost_http_port = 8888 #访问的端口,如果80端口未被占用,可以使用80。
[web]
type = http
custom_domains = upyun.v5linux.com #访问的域名,需要做好 A记录解析。
auth_token = 123 #token 需要与客户端一致
upyun.v5linux.com 需要做下解析 做 A 记录 解析到公网 IP
启动服务端
nohup /usr/bin/frps -c /etc/frps_www.ini >> /var/log/frps_www.ini &
查看日志信息,我没指定重定向到文件,默认会在当前目录创建一个nohup.out的文件,查看信息
[root@CTN-QD-247 ~]# cat nohup.out
2017/05/04 17:06:26 [main.go:163] [E] Create vhost http listener error, listen tcp 0.0.0.0:8080: bind: address already in use # 提示端口被占用,换个端口或者解决端口被占用的问题
2017/05/04 17:08:49 [main.go:194] [I] Start frps success #表示启动成功
客户端
内网机器需要开启 http 服务,查看客户端配置文件。
[root@vm-50-156 default]# cat /etc/frpc_www.ini
# frpc.ini
[common]
server_addr = xxxx #服务器的 ip 地址
server_port = 8000 # 与服务器一致
auth_token = 123 #与服务器一致
[web]
type = http #服务类型是 web 服务
local_port = 80 #本地的 web 服务端口
启动客户端
[root@vm-50-156 default]# nohup /usr/bin/frpc -c /etc/frpc_www.ini >>/var/log/frpc_www.log &
开启防火墙
上面配置文件中的这些个端口全部都放行
iptables -A INPUT -p tcp --dport port -j ACCEPT
访问
把上面的运行命令写到/etc/rc.local 文件中 并且赋予这个文件可执行文件,每次开机就自动启动了。
本文参考文档 配置,具体可以参考文档