django:frp内网穿透

一、下载

下载地址:github传送门
官方文档:文档地址

二、前置条件

  • 内网可上外网的电脑;
  • 拥有公网ip,且最好有域名解析的服务器。

三、配置过程

1、配置服务端

文件名:frpc.ini

[common]
# 服务器绑定的端口
bind_port = 7000
# web服务所绑定的端口
vhost_http_port = 8080
# 口令,在配置时更换为自己的
token = 877223

# frp面板配置
dashboard_addr = 0.0.0.0
dashboard_port = 4444
dashboard_user = admin
dashboard_pwd = 123

# 日志配置
log_file = /xx/xx/frps.log
log_level = info
log_max_days = 3

2、配置客户端

文件名:frpc.ini

[common]
# 服务器ip地址
server_addr = xx.xx.xx.xx
# 服务器上绑定的端口
server_port = 7000
# 与服务器上一致的口令
token = 877223

[web]
type = http
# 本地local端口
local_port = 8000
# 如果存在域名,解析到这即可使用
custom_domains = test.xx.com, xx.xx.xx.xx(服务器的ip)
# 如果custom_domains填写的是ip,这里必填
remote_port = 8080

四、启动命令

# 服务器启动
./frps -c ./frps.ini
# 客户端启动,这里是windows,其他平台的话大同小异
.\frpc.exe -c .\frpc.ini

五、service参考

frps.service

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

frpc.service

[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini

[Install]
WantedBy=multi-user.target

六、如果存在防火墙,设置防火墙

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

七、可能遇到的疑难问题

1.浏览器打不开页面及api接口,但postman、apipost等接口调试成功

服务器配置的vhost_http_port端口可能无法使用,换另一个端口,例如笔者使用6000端口,且端口没有被占用和防火墙开启的情况下,6000端口无法被浏览器打开,但换了8080即可,该问题找遍全网,没有复现的,因此特意记录在此。

你可能感兴趣的:(django:frp内网穿透)