FRP部署本地服务器—-把自己电脑做成一个服务器的艰苦历程

frp首先准备:

一个域名,

一个能够公网访问的服务器vpn都可,

一台自己的电脑。

frp:frp下载地址    (因为我本地也是linux的虚拟机  所以我只下载了一个Linux的包就能运行了)

第一步,首先把 二级域名解析到服务器上即可。(我这里解析的是frp.talksphp.com)

第二步在 服务器的nginx 中添加一个server

#因为dzoffice 是需要长链接的  所以做了长连接的代理
server {
    listen 80;  #这个端口是frp解析进来被nginx拦截并代理
    listen 82;  #这个是我开发dzzoffice所用到一个服务端口;就是说可以多域名监听多端口
    server_name *.talksphp.com; #穿透的泛解析域名 如果多个主域名就在后面加个空格,解析
    location / {
        proxy_pass http://127.0.0.1:8888; # frps的非80端口
        proxy_http_version 1.1;
        client_max_body_size 10000M; # Limit Document size to 100MB
        proxy_read_timeout 3600s;
        proxy_connect_timeout 3600s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_redirect http://$host/ http://$http_host/;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
    }
}

在公网服务器端。下载并解压frp,修改frps.ini 如下

# 远程服务器监听端口,可以配合nginx反向代理实现去端口
serverAddr = "" // 服务端的ip 地址

bindPort = 37257
vhostHTTPPort = 37257
vhostHttpTimeout = 600
auth.token = "112233"

# 启用端口复用
transport.tls.disableCustomTLSFirstByte = false

# 日志输出文件路径
log.to = "console"
# 日志文件最多保留天数
log.maxDays = 60

# 服务端面板
webServer.addr = "0.0.0.0"
webServer.port = 47030
webServer.user = "adminadmin"
webServer.password = "112233"

[[proxies]]
name = "office"
type = "http"
localPort = 80
customDomains = ["office.talksphp.com"]

[[proxies]]
name = "officeserver"
type = "http"
localPort = 82
customDomains = ["officeserver.talksphp.com"]

这里配置完成后需要启动。。启动日志就在的配置文件的 log_file。。下面的命令是在后台运行服务

nohup /root/frp/frps -c /root/frp/frps.ini > /root/frp/daka.log 2>&1 &

接下来到本地的虚拟机上配置frpc.ini

# 远程服务器监听端口,可以配合nginx反向代理实现去端口
serverAddr = "" // 服务端IP
serverPort = 37257
auth.token = "112233"

# 日志输出文件路径
log.to = "console"
# 日志文件最多保留天数
log.maxDays = 60

[[proxies]]
name = "office"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["office.talksphp.com"]

[[proxies]]
name = "officeserver"
type = "http"
localIP = "127.0.0.1"
localPort = 82
customDomains = ["officeserver.talksphp.com"]

transport.proxyProtocolVersion = "v2"

在后台启动一下。

nohup /root/frp/frpc -c /root/frp/frpc.ini > /root/frp/daka.log 2>&1 &

这样我们就能在任何地方访问   ****.talksphp.com   ****.talksphp.com:82    ssh:/root@****.talksphp.com

配置方法万万千。这也是代理的一种方式。

可以租一个1核1G  100M带宽阿里的服务器 走流量计费  在公司或家里找一个不用的废弃笔记本做成centos系统。就可以有一个稳定的外网测试服务器了。nice,体验美好。

设置启动命令为

systemctl restart frps

systemctl stop frps

systemctl start frps

sudo vim /etc/systemd/system/frps.service

内容为:

[Unit]
# 服务名称,可自定义
Description=Frp Server Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStartPre=/bin/sleep 10
User=root
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /www/frp/frpc -c /www/frp/frpc.toml
Restart=on-failure
[Install]
WantedBy = multi-user.target

信息来源

Read More

发表回复