当前环境 : 阿里云服务器(123.123.123.123) , 本地服务器(192.168.3.1);
需要实现功能:通过请求云服务器,访问本地服务器的文件
1.公网服务器(123.123.123.123)与内网服务器(192.168.3.1)
都需要下载frp进行安装,公网服务器(服务端)配置关注步骤6,内网服务器(客户端)关注步骤7
2.下载地址是https://github.com/fatedier/frp/releases,下载linux版本frp_0.13.0_linux_amd64.tar.gz
或者wget https://github.com/fatedier/frp/releases/
download/v0.13.0/frp_0.13.0_linux_amd64.tar.gz下载
3.新建目录mkdir -p /usr/local/frp,上传frp_0.13.0_linux_amd64.tar.gz至linux服务器该目录下
4.解压
命令:tar -zxvf frp_0.13.0_linux_amd64.tar.gz
5、fre目录
进入解压目录cd frp_0.13.0_linux_amd64,这里主要关注4个文件,分别是frpc、frpc.ini和frps、frps.ini,前者两个文件是客户端所关注文件,后者两个文件是服务端所关注两个文件。
6、配置服务端(公网服务器)
首先删掉frpc、frpc.ini两个文件,然后再进行配置,vi ./frps.ini,
[common]
bind_port = 7000 #与客户端绑定的进行通信的端口
vhost_http_port = 6481 #访问客户端web服务自定义的端口号
保存然后启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini &
7.配置客户端(内网服务器)
首先删掉frps、frps.ini两个文件,然后再进行配置,vi ./frpc.ini
[common]
server_addr = 123.123.123.123 #公网服务器ip
server_port = 7000 #与服务端bind_port一致
#公网通过ssh访问内部服务器
[ssh]
type = tcp #连接协议
local_ip = 192.168.3.1 #内网服务器ip
local_port = 22 #ssh默认端口号
remote_port = 6000 #自定义的访问内部ssh端口号
#公网访问内部web服务器以http方式
[web]
type = http #访问协议
local_port = 8561 #内网web服务的端口号
custom_domains = aaron.wiiteer.com #所绑定的公网服务器域名,一级、二级域名都可以
保存然后执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini &
8.公网服务器开放端口
公网服务器需要配置开放上述配置(阿里云控制台)中的6000(SSH) 7000(frp) 6481(http)三个端口。
9.内网服务器nginx配置
server {
listen 8561;#frp配置的http端口
server_name aaron.wiiteer.com;
location / {
root /usr/local/whatfuck/; #指定实际目录绝对路径
autoindex on; #开启目录浏览功能;
autoindex_exact_size off; #关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_localtime on; #开启以服务器本地时区显示文件修改日期!
}
}
nginx.conf 添加上述配置后重启nginx服务即可
nginx重启命令: sudo nginx -s reload
10测试结果
1,外网ssh访问内网服务器
ip:123.123.123.123:6000 账号密码
2,自定义绑定域名访问内网web服务
http://aaron.wiiteer.com:6481/