FRP内网穿透映射本地内网80端口到云服务器



如题,我的配置中本地服务器和云服务器都为ubuntu20.04,但CentOS同样适用。


PS:怎么把网页部署到本地80端口请找别的教程,本文重点在内网穿透的本地和服务器端的配置


一.服务器端安装frp

#下载FRP安装脚本,这个目前仍然在更新,所以不用管版本问题
wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh
#给脚本设置可执行权限
chmod 700 ./install-frps.sh
#执行脚本
./install-frps.sh install

接下来按此选择
如果使用的是类似阿里云的云服务器,需要在防火墙里添加端口规则来开放端口(tcp协议,需要开哪几个端口看下面)
1、选择源,默认是阿里云,直接回车
2、选择服务端口,默认是5443,可以随便改,别重就行。注意他这里虽然说这个这个值叫bind_port,但后面跟的括号表明,在客户端这个值叫server_port。
3、设置http连接的端口。默认80,可以随便改,别重就行。
设置https连接的端口。默认443,可以随便改,别重就行。
4、设置面板的端口。默认6443,可以随便改,记得住就行。
5、设置管理员账户,密码改一下,这随机密码不好记。
6、设置token,这个在客户端的配置还真叫token,可以随便改,记得住就行。
7、设置公网IP,既然你应该买了服务器,应该自带公网ip,直接回车。
之后一路回车
8、启动服务端

frps start

9、输入你服务器的公网ip+6443端口,如123.123.123.123:6443
能成功打开就服务器端就配置完了。
二.客户端安装frp
这个我没找到脚本,直接去github下安装安装吧
https://github.com/fatedier/frp/releases 注意是amd64 linux不是arm64 linux
下载解压到本地需要被穿透的主机上
然后终端进入该文件夹,照以下执行

#先删除安装包内服务器端的无用文件
rm -rf frps*
#给客户端脚本可执行权限
chmod 777 frpc
#配置客户端文件
vim frpc.ini

复制以下(只保留了必要部分,部分需要自己替换)

[common]
server_addr = 123.123.123.123#你的服务器端的公网IP
server_port = 5443#服务器端的bind_port,跟前面配置的走
token=123456#跟服务器端设置的token保持一致,跟前面配置的走

[ssh]
type = tcp
local_ip = 192.168.1.192#内网ip(需要被内网穿透的机子的ip),最好用路由器DHCP固定一下
local_port = 22#默认22,不用管
remote_port = 6000#不管不管

[web]
type = http
local_port = 80#需要在服务端使用的本地端口
custom_domains = 123.123.123.123#公网ip或者域名,跟第一个一样

配置完后,就可以:wq保存退出
然后执行./frpc -c ./frpc.ini
完成连接。