• 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

Centos7 – frp内网穿透,访问内网web服务/访问内网websocket服务

Linux运维 发布于2020-04-09 阅读 6,388次 0次评论 1次点赞 本文共2477个字,阅读需要7分钟。

1 frp

Github地址:https://github.com/fatedier/frp
Github发布包地址:https://github.com/fatedier/frp/releases
官方教程:https://github.com/fatedier/frp/blob/master/README_zh.md

2 需求说明

如果我们在内网部署了一个网页即时聊天程序,使用websocket保持长连接并即时通信,网页http请求端口为80,而websocket请求端口为45635,该网页聊天服务在内网机子上部署。
需求:希望使用frp进行内网穿透,可以访问内网机子上的web服务打开聊天网页,也可以使用websocket服务进行网页即时聊天。

3 外网服务器frp服务端配置(安装时最新版本0.32.1为例)

3.1 下载frp

使用

mkdir frp

命令创建一个新的文件夹frp,然后在文件夹下使用命令:

wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz

下载frp。

3.2 解压,并进入解压文件夹

tar -zxvf frp_0.32.1_linux_amd64.tar.gz
cd frp_0.32.1_linux_amd64/

3.3 删掉不必要的客户端文件

rm -rf frpc
rm -rf frpc.ini

3.4 编辑frps.ini文件

vi frps.ini

打开该文件,并将该文件内容修改为:

[common]
# 服务器端监听客户端连接请求的端口
bind_port = 7000
# 服务器端监听http请求的端口
vhost_http_port = 80

保存退出。

3.5 防火墙开启相关端口

开启端口:
firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=45635/tcp --permanent
重启防火墙:systemctl restart firewalld.service

3.6 启动服务的几种方式

3.6.1 正常启动

./frps -c ./frps.ini

3.6.2 使用nohup后台挂起服务

nohup ./frps -c frps.ini > ./log.txt 2>&1 &

日志输出到log.txt

3.6.3 制作一键启动sh脚本

3.6.3.1 启动脚本start.sh
#! /bin/bash
nohup ./frps -c frps.ini > log.txt 2>&1 &
echo $! >./pid.txt
3.6.3.2 停止脚本stop.sh
#! /bin/bash
PID=$(cat ./pid.txt)
kill -9 $PID
3.6.3.4 实时日志查看
tail -f ./log.txt

4 内网服务器frp客户端配置(安装时最新版本0.32.1为例)

4.1 下载

使用

mkdir frp

命令创建一个新的文件夹frp,然后在文件夹下使用命令:

wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz

下载frp。

4.2 解压,并进入解压文件夹

tar -zxvf frp_0.32.1_linux_amd64.tar.gz
cd frp_0.32.1_linux_amd64/

4.3 删掉不必要的客户端文件

rm -rf frps
rm -rf frps.ini

4.4 编辑frpc.ini文件

vi frpc.ini

打开该文件,并将该文件内容修改为:

[common]
server_addr = xx.xx.xx.xx(外网主机ip)
server_port = 7000

# 内网web服务,监听端口为80
[web]
type = http
local_port = 80
custom_domains = xx.xx.xx.xx(外网主机ip,和server_addr的相同,或者写域名,但是要做dns解析)

# websocket服务,端口假设为45635
[web01]
type = tcp
local_port = 45635
custom_domains = xx.xx.xx.xx(外网主机ip,和server_addr的相同,或者写域名,但是要做dns解析)
remote_port = 45635

保存退出。

4.5 防火墙开启相关端口

开启端口:
firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=45635/tcp --permanent
重启防火墙:systemctl restart firewalld.service

4.6 启动服务的几种方式

4.6.1 正常启动

./frpc -c ./frpc.ini

4.6.2 使用nohup后台挂起服务

nohup ./frpc -c frpc.ini > ./log.txt 2>&1 &

日志输出到log.txt

4.6.3 制作一键启动sh脚本

4.6.3.1 启动脚本start.sh
#! /bin/bash
nohup ./frpc -c frpc.ini > log.txt 2>&1 &
echo $! >./pid.txt
4.6.3.2 停止脚本stop.sh
#! /bin/bash
PID=$(cat ./pid.txt)
kill -9 $PID
4.6.3.4 实时日志查看
tail -f ./log.txt

5 访问测试

分别开启远程主机frp服务,以及内网frp服务,保证相关端口已开启。
frp内网穿透访问内网web服务:xx.xx.xx.xx:80
frp内网穿透访问内网websocket服务:xx.xx.xx.xx:45635

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:Centos7 – frp内网穿透,访问内网web服务/访问内网websocket服务

原文链接:https://www.stubbornhuang.com/788/

发布于:2020年04月09日 9:18:06

修改于:2023年06月26日 22:28:26

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
C++11/std::shared_ptr - 循环引用问题
C++
下一篇
资源下载 - Go语言核心编程李文塔 高清带书签版pdf下载
资源分享
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号