Docker+Nginx+FRP
0.云服务器需要打开的端口:7000、80
1.反代将来自80端口的HTTP请求转发至FRPS
2.FRPS和FRPC之间通过7000通讯
3.FRPC接收到转发过来的流量,转发至本地80端口
以上所有端口都可以通过docker、nginx、frpc各种组合配置
增加反代的目的是捕获请求源的IP
服务端
frps.ini:
cat > /etc/frps/frps.ini <<EOF
[common]
bind_port = 7000
token =e041a374-1489-4e42-8eb6-38a726fe6489
EOF
nginx default.conf:
cat > /etc/nginx/conf.d/default.conf <<EOF
server {
listen 80;
server_name "";
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
#proxy_bind $remote_addr transparent;
client_max_body_size 1m;
proxy_pass http://frps;
error_log /dev/null;
access_log off;
}
}
EOF
docker:
docker network create -d bridge frp-net
docker run --restart=always -p 7000:7000 --network frp-net -d -v /etc/frp/frps.ini:/etc/frp/frps.ini --name frps snowdreamtech/frps
docker run --restart=always -p 80:80 --network frp-net -d -v /etc/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf --name nginx rsnow/nginx
客户端
https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_windows_amd64.zip
frpc.ini:
[common]
server_addr = {server.ip}
server_port = 7000
# console or real logFile path like ./frpc.log
log_file = ./frpc.log
# trace, debug, info, warn, error
log_level = warn
# auth token
token =e041a374-1489-4e42-8eb6-38a726fe6489
[www]
# tcp | udp | http | https | stcp | xtcp, default is tcp
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 80
# limit bandwidth for this proxy, unit is KB and MB
bandwidth_limit = 1MB
# true or false, if true, messages between frps and frpc will be encrypted, default is false
use_encryption = true
# if true, message will be compressed
use_compression = true
声明
本文采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可,发表在CSDN和博客园,欢迎读者转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接!请读者/爬虫们尊重版权
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗