电脑公司网站源码,dede5.7内核qq个性门户网站源码,遵义网站制作小程序,企业主页是什么简介
部署在公司内部局域网虚拟机上的服务需要在外网能够访问到#xff0c;这不就是内网穿透的需求吗#xff0c;之前通过路由器实现过#xff0c;现在公司这块路由器不具备这个功能了#xff0c;目前市面上一些主流的内网穿透工具有#xff1a;Ngrok#xff0c;Natapp这不就是内网穿透的需求吗之前通过路由器实现过现在公司这块路由器不具备这个功能了目前市面上一些主流的内网穿透工具有NgrokNatapp花生壳Ssh、autosshFrpLanproxySpike。这里选用了Frp作为技术实现方案。
一、frp是什么
如下是github官网介绍https://github.com/fatedier/frp/blob/dev/README_zh.md 。frp是一个专注于内网穿透的高性能的反向代理应用支持TCPUDP,HTTP,HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。
那么多方案这里选用frp的主要原因是frp 是一个国内的免费且开源的项目。
二、安装部署
frp下载和版本选择 frp官网
下载frphttps://github.com/fatedier/frp 注意 客户端和服务端版本要一致
我这边服务器系统都是CentOS7 64位于是选择了 frp_0.38.0_linux_adm64.tar.gz
2.1 服务端(阿里云)
yum -y install wget lrzsz
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
tar -xzvf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64/
vim frps.ini
# 在末尾增加一行vhost_http_port 8087使frps.ini最终配置如下[rootecs-ca29 frp_0.38.0_linux_amd64]# cat frps.ini
[common]
bind_port 7000#http服务端口
vhost_http_port 8087#https服务端口
vhost_https_port 8088# dashboard
dashboard_port 7500
dashboard_user root
dashboard_pwd Maqiangli1234
dashboard_token Maqiangli1234[rootecs-ca29 frp_0.38.0_linux_amd64]#注 vhost_http_port监听的端口不能被占用否则会导致frps不能启动端口可根据实际需要修改bind_port端口为frp服务端和客户端连接通信的端口默认为7000。
nohup ./frps -c frps.ini frp.log #frp在后台运行frps dashboard 通过浏览器查看 frp 的状态以及代理统计信息展示
每个压缩包解压后都包含以下文件和一个systemd文件夹 frpc —— 客户端可执行二进制文件 frpc_full.ini —— 包含全部配置项的客户端配置文件 frpc.ini —— 客户端使用的配置文件包含最简配置 frps —— 服务端可执行二进制文件 frps_full.ini —— 包含全部配置项的服务端配置文件 frps.ini —— 服务端使用的配置文件包含最简配置 systemd —— 文件夹用于将frpc和frps添加为服务的配置linux下使用systemd作为守护程序、mac os使用launchd作为守护程序 注只需用到frp_0.38.0_linux_amd64目录下的frps相关文件
2.2 客户端虚拟机
yum -y install wget lrzsz
wget https://github.com/fatedier/frp/releases/download/v0.38.0/frp_0.38.0_linux_amd64.tar.gz
tar -xzvf frp_0.38.0_linux_amd64.tar.gz
cd frp_0.38.0_linux_amd64/
vi frpc.ini[rootlocalhost frp_0.38.0_linux_amd64]# cat frpc.ini
[common]
# 114.115.134.192ip是云服务器公网IP
server_addr 114.115.134.192
server_port 7000[ssh]
type tcp
local_ip 127.0.0.1
local_port 22
remote_port 6000
#配置http服务 本文配置
[web]
type http
# frp 客户端IP
local_ip 127.0.0.1
# frp客户端web服务器IP
local_port 8087# frp服务端域名或者ip
custom_domains 114.115.134.192
# 自定义frp服务端端口将本地19001端口转出为公网IP端口8087
local_port 19001
remote_port 8087
[rootlocalhost frp_0.38.0_linux_amd64]# nohup ./frpc -c ./frpc.ini frp.log #启动frpc程序tail -f nohup.out 注此时frpc会通过7000端口尝试与frps建立通信连接看到如下日志这说明连接建立成功 服务端 7000端口 和8087端口(根据自己端口变换) 需要确保端口已经开放外部访问
总结
到此第二节中的需求已经完成这里只是使用了frp的http代理功能frp还有其他的功能特性感兴趣的可以到官网进行学习。