Github地址:/link:github.com/fatedier/fr… 配置准备工作:
- 一台公网服务器
- 一个域名 并解析一个二级域名(记录值frp 记录类型A 记录值安装frp的服务器ip)和一个泛域名(记录值*.frp 记录类型A 记录值安装frp的服务器ip)
- 创建frps服务的docker挂载配置文件 vim /root/frp/frps.ini
安装frp服务端
服务端配置文件frps.ini
[common]
#与客户端进行传输的,端口必须跟客户端一样
bind_port = 7000
# vhost_http_port 参数来设置 HTTP 访问端口,此处端口:9998,来监听nginx转发过来的端口
vhost_http_port = 9998
# vhost_https_port 参数来设置 HTTPS 访问端口,此处端口:9999,来监听nginx转发过来的端口
# 泛域名整数一年得2000+ 可以在本地用nginx配置https免费单域名证书
vhost_https_port = 9999
# subdomain_host 参数来设置 Web 服务增加自定义二级域名
# 将域名 frp.barns.vip 解析到 frps 所在公网服务器的 IP 地址 与客户端要一致
subdomain_host = frp.barns.vip
# FRP 身份验证 与客户端token要一致
token = password!#.
#frps监控
本机7500端口 用户密码登录 可以查看谁连上来了
# 指定 Dashboard 的监听的 IP 地址 0.0.0.0
dashboard_addr = 0.0.0.0
# FRPS 服务端 仪表盘 dashboard 登陆端口
dashboard_port = 7500
# FRPS 服务端 仪表盘 dashboard 登陆用户名、密码
dashboard_user = admin
dashboard_pwd = web管理端密码
# 设置日志显示级别{debug, info, warn, error)
log_level = info
# 设置日志最大天数
log_max_days = 7
#超时时间
heartbeat_timeout = 90
#最大连接数
max_pool_count = 5
#frp服务器配置
# 拉取镜像
docker pull snowdreamtech/frps
# 运行
docker run -d --restart always --network host -itd --name frps-server -v /root/frp/frps.ini:/etc/frp/frps.ini snowdreamtech/frps
配置nginx代理
# frps web配置
server {
listen 80;
server_name frp.barns.vip;
location / {
proxy_pass http://127.0.0.1:7500;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
}
# frps http配置
server {
listen 80;
server_name *.frp.barns.vip;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:9998;
}
}
至此frps服务已配置完毕,下面是本地的配置
frpc客户端安装
解压安装
注:选择适合您的版本 系统架构有大的区别 选错了会跑不起来 下载地址:/link:github.com/fatedier/fr…
docker安装
# 拉取镜像
docker pull snowdreamtech/frpc
# 运行
docker run -d --restart always --network host -itd --name frpc -v /Users/rickjen/docker/frp/frpc.ini:/etc/frp/frpc.ini -v /Users/rickjen/docker/frp/log:/etc/frp/log snowdreamtech/frpc
本地配置frpc客户端
本地客户端配置文件frpc.ini
[common]
# nginx代理的服务 代理的端口是服务端dashboard_port的端口
server_addr = frp.barns.vip
log_file = logs/frpc.log
# 服务端bind_port的端口
server_port = 7000
token = password!#.
# trace, debug, info, warn, error
log_level = info
log_max_days = 3
[my_web]
type = http
local_ip = 127.0.0.1
local_port = 8080
# 子域名(与服务端subdomain_host配合使用,这里就表示访问的是 my.frp.barns.vip)
subdomain = my
# 自定义域名
#custom_domains
= my.barns.vip
运行本地frpc客户端
解压安装方式->命令直接运行
frpc.exe -c frpc.ini
解压安装方式->脚本运行windows
# 创建脚本
start.bat
脚本内容
@title frp_client
frpc.exe -c frpc.ini
解压安装方式->脚本运行linux/mac os
# 创建脚本
start.sh
脚本内容
./frpc -c frpc.ini
现在就完成了内网穿透了。
https配置思路
- 本地安装nginx
- 在本地frpc.ini加一个配置 由于我们使用的是泛域名*.frp.barns.vip 所以我们直接可以用abc.frp.barns.vip
- 为abc.frp.barns.vip申请证书
- nginx代理配置代理目标和ssl证书