使用 frp 实现内网穿透

因为前段时间要调试微信的接口和其他一些原因。。。所以搞了下内网穿透。。。

1.首先你要先有一个可用的外网ip,如果没有就想想办法。。。(买一个或者用别人做好的,what ever。。。)

2.去frp的github上下载最新的release包

3.进入frp目录你会看到frps_full.inifrpc_full.ini两个文件夹这里面是所有的可配置项,你需要自己创建frps.inifrpc.ini,下面贴上我的配置,因为我只需要内网穿透所以配置很简单

frps.ini

[common]
bind_port = 7000
vhost_http_port = 8080

frpc.ini

# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
server_addr = 公网的ip
server_port = 7000


# console or real logFile path like ./frpc.log
log_file = ./frpc.log

# trace, debug, info, warn, error
#log_level = info

#log_max_days = 3

# for authentication
privilege_token = 12345678


[webapp]
type = http
local_ip = 内网的ip
local_port = 8000
custom_domains = 外网的域名

4.配置完成后就可以使用了,将此文件上传到服务器然后进入frp目录执行./frps -c ./frps.ini如果你希望让其在服务器长期运行使用nohup ./frps -c ./frps.ini &即可。接下来在你本地执行./frpc -c ./frpc.ini就可以正常使用内网穿透了。

5.如果嫌输入端口号麻烦可以弄个反向代理。在/etc/nginx/sites-enabled目录下创建你的配置文件

map $http_x_forwarded_for $clientRealip {
   "" $remote_addr;
   ~^(?P[0-9\.]+),?.*$  $firstAddr;
}

server {
       listen 80;
       server_name xxx.xxxx.com; ##写你所需要代理的地址
       ## 将demo(demo.open.it)二级域名转发到8000端口
       location / {
           proxy_pass http://127.0.0.1:8080;  # frps.ini 里的 vhost_http_port = 8000
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $clientRealip;  # $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}

注:使用阿里云别忘了去设置安全组
image.png

你可能感兴趣的:(使用 frp 实现内网穿透)