赞
踩
1、有一台云服务器,Linux(CentOS7)系统
2、云服务器有公网ip,公网可以访问
3、本地电脑是家用笔记本,Windows操作系统
4、本地电脑没有公网ip,公网无法访问
需求:将云服务器搭建为一台内网穿透服务器,实现通过外网访问家用电脑(网页)的功能。且即使没有域名也可通过公网ip访问。
GitHub:https://github.com/fatedier/frp
releases页面:https://github.com/fatedier/frp/releases
根据自己的情况下载运行文件,我下载的是图中的2项。
下载好后,解压缩。
解压后可以看到这样一些文件:
图左侧是Linux系统的文件,右侧是windows版。
其中:
带frps
字样的文件是用在服务端,即远程的公网服务器,结尾的字母s是server的意思。
带frpc
字样的文件是用在客户端,即本地的家用服务器,结尾的字母c是client的意思。
因此,在frp_0.49.0_linux_amd64
中挑选出这些文件,上传到云服务器:frps
frps.ini
frps_full.ini
在frp_0.49.0_windows_amd64
中挑选出这些文件,保留在本地:frpc.exe
frpc.ini
frpc_full.ini
本文以HTTP穿透为例,其他类型穿透可参考官方文档:https://gofrp.org/docs/
注意:在实际编写配置文件时,每一行配置中的注释及注释前的空格要删除掉!
例如:
不要这样写:bind_port = 7000 # 服务器接收客户端连接的端口
而要这样写:bind_port = 7000
不然后面所有的内容都会被视为配置的一部分,至少在当前最新的0.49.0
版本有这个问题。
首先编写位于云服务器端的frps.ini
文件。
[common] bind_port = 7000 # 服务器接收客户端连接的端口 dashboard_port = 7500 # 后台管理端口 dashboard_user = admin # 后台登录用户名 dashboard_pwd = admin # 后台登录密码 vhost_http_port = 80 # http穿透端口(公网服务器的端口) vhost_https_port = 443 # https穿透端口(公网服务器的端口) token = abc123 # 身份验证令牌 frpc要和frps一致 log_file = /root/frp/frps.log # 日志路径 log_level = info # 日志级别 log_max_days = 3 # 日志文件保留天数 authentication_timeout = 0 # 身份验证超时时间 0表示不验证 subdomain_host = xxx.com # 注册的主域名 不带前缀 没有域名就写公网ip
启动服务器端的服务
# 在文件所在的目录下输入命令启动
./frps -c ./frps.ini &
完成后可通过http://xxx.com:7500
访问后台管理页面,注意发放行相关端口。
在这个示例配置中,需要放行的端口:7000、7500、80、443。
然后编写本地的frpc.ini
文件。
[common]
server_addr = xxx.xxx.xxx.xxx # 服务器的公网ip地址
server_port = 7000 # 客户端与服务器连接的端口
token = abc123 # 身份验证令牌 frpc要和frps一致
authentication_timeout = 0 # 身份验证超时时间 0表示不验证
[web] # 添加web节点
type = http # 访问类型为http
local_ip = 127.0.0.1 # 本地设备ip(*注)
local_port = 8080 # 本地访问的端口
custom_domains = xxx.com # 指向远程服务器的域名 没有域名就写服务器公网ip
*注:如果是本机,local_ip
可以省略不写,或者写127.0.0.1
,或者写本机在本地内网的ip,通常为 192.168.xxx.xxx
启动客户端服务:
打开Windows的PowerShell,cd到在frpc.exe所在文件夹。(用PowerShell不用cmd)
输入启动命令:./frpc.exe -c ./frpc.ini
即可启动。
配置文件在同一文件夹下且使用默认名称的话,启动命令简化为./frpc.exe
出现success,表示启动成功!
假设本地有一nginx页面,通过本机输入http://127.0.0.1:8080
可访问到。
开启内网穿透后,输入http://xxx.com:80
或http://公网ip:80
,查看是否能访问到。(http协议80端口可以省略)
其他类型的内网穿透请参考官方文档:https://gofrp.org/docs/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。