Centos7 – frp内网穿透,访问内网web服务/访问内网websocket服务
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
当前分类随机文章推荐
- Docker - 在宿主机与容器之间拷贝文件或者文件夹 阅读74次,点赞0次
- Centos7 - frp内网穿透,访问内网web服务/访问内网websocket服务 阅读3299次,点赞1次
- Linux - 编译Crypto++加密库 阅读2088次,点赞1次
- Docker - 镜像操作入门指南 阅读53次,点赞0次
- Centos7 - 安装高版本的gcc/g++,多版本切换以及配置环境 阅读69次,点赞0次
- Ubuntu - 查看CPU个数、核心数、总线程数 阅读59次,点赞1次
- nginx - 反向代理websocket服务 阅读18次,点赞0次
- Ubuntu编译安装FFmpeg+libx264以及编译+安装Opencv+FFmpeg保姆教程 阅读3665次,点赞1次
- Centos - 更换SSH端口 阅读3124次,点赞1次
- Centos7 - nohup方式优雅的部署jar包 阅读3398次,点赞0次
全站随机文章推荐
- 资源分享 - GDI+教程(C++中文版 GDI+SDK中文参考手册)PDF下载 阅读3292次,点赞0次
- 资源分享 - Calculus for Computer Graphics , First Edition 英文高清PDF下载 阅读1456次,点赞0次
- 资源分享 - 深度学习的数学 (涌井良幸 涌井贞美著) 高清PDF下载 阅读5659次,点赞3次
- WordPress - 当用户登录失败时在登录界面显示自定义信息 阅读2047次,点赞0次
- 资源分享 - 计算机图形学 - 原理及实践 基础篇 原书第3版 , Computer Graphics Principles and Practice (Third Edition) 中文版PDF下载 阅读4338次,点赞2次
- C++11/std::thread - 线程的基本用法 阅读3649次,点赞0次
- Docker - docker内服务自启动,使用镜像创建容器时同时启动服务 阅读50次,点赞0次
- 资源分享 - Computer Graphics Programming in OpenGL with C++, First Edition 英文高清PDF下载 阅读1731次,点赞0次
- Pytorch - 训练网络时出现_pickle.UnpicklingError: pickle data was truncated错误 阅读2185次,点赞0次
- Pytorch - torch.topk参数详解与使用 阅读538次,点赞0次
评论
169