豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 Wd提问: frp 多域名

🤖 Ai回答:
使用FRP(Fast Reverse Proxy)实现多域名内网穿透是一种常见且高效的方案,它允许您通过一个公网服务器,将外部流量安全地转发到内网的多个不同服务上。以下是详细的配置指南:

核心原理

FRP 由两部分组成:
* frps (FRP Server): 部署在拥有公网IP的服务器(如阿里云、腾讯云服务器)上。
* frpc (FRP Client): 部署在需要被访问的内网服务器上。

其工作流程是:`frpc` 主动连接 `frps` 建立一条加密隧道。当外网用户访问特定域名时,请求首先到达 `frps`,`frps` 根据预先配置的规则,通过隧道将请求转发给对应的 `frpc`,最终由内网的服务处理并返回结果。

实现多域名的核心方法

主要有两种方式来实现多域名映射:自定义域名 (custom_domains) 和 子域名 (subdomain)。

方法一:自定义域名 (Custom Domains) 推荐用于独立域名

这是最直接和灵活的方式,特别适合您拥有自己的主域名(如 `xxx.com`)并希望为每个内网服务创建独立的二级域名(如 `git.xxx.com`, `maven.xxx.com`)。

1、 DNS 解析:
将您希望使用的多个域名或二级域名的 A 记录,全部指向运行 `frps` 的公网服务器的 IP 地址。
* 例如:
* `git.xxx.com` - `您的公网服务器IP`
* `maven.xxx.com` - `您的公网服务器IP`

2、 服务端 (frps) 配置 (`frps.toml` 或 `frps.ini`):
在服务端配置文件中,主要设置通信端口和监听端口。
toml
frps.toml (新版本推荐使用 .toml)
bindPort = 7000 frpc 连接 frps 的端口
vhostHTTPPort = 80 监听 HTTP 请求的端口 (可设为80以支持标准HTTP)
vhostHTTPSPort = 443 监听 HTTPS 请求的端口 (可设为443以支持标准HTTPS)

安全认证 (强烈建议开启)
auth.method = token
auth.token = your_secure_token_here 设置一个复杂的令牌

[可选] 启用 Dashboard 来监控状态
webServer.port = 7500
webServer.user = admin
webServer.password = dashboard_password


3、 客户端 (frpc) 配置 (`frpc.toml` 或 `frpc.ini`):
每个内网服务(或每台内网服务器)都需要一个或多个代理配置,明确指定要暴露的服务和对应的域名。
toml
frpc.toml
serverAddr = 您的公网服务器IP或域名
serverPort = 7000
auth.token = your_secure_token_here 必须与服务端一致

代理 GitLab 服务
[[proxies]]
name = gitlab 代理名称,需唯一
type = http 协议类型,http/https/tcp等
localIP = 127.0.0.1 内网GitLab服务的IP
localPort = 80 内网GitLab服务的端口
customDomains = [git.xxx.com] 关键!绑定的域名列表

代理 Nexus Maven 私服
[[proxies]]
name = nexus
type = http
localIP = 192.168.1.100 假设Nexus部署在另一台内网机器
localPort = 8081
customDomains = [maven.xxx.com]

可以继续添加更多服务...
[[proxies]]
name = blog
type = http
localIP = 127.0.0.1
localPort = 4000
customDomains = [blog.yourdomain.com, www.yourblog.com] 支持多个域名指向同一服务


方法二:子域名 (Subdomain) 适用于快速测试或统一管理

这种方式需要在服务端预设一个主域名(`subdomain_host`),然后客户端只需提供一个子前缀。

1、 DNS 解析:
将一个通配符域名(Wildcard Domain)解析到公网服务器IP。
* 例如:`*.dev.xxx.com` - `您的公网服务器IP`

2、 服务端 (frps) 配置:
在 `frps.toml` 中增加 `subdomainHost` 参数。
toml
bindPort = 7000
vhostHTTPPort = 80
subdomainHost = dev.xxx.com 所有子域名都基于此主域名
auth.method = token
auth.token = your_secure_token_here


3、 客户端 (frpc) 配置:
客户端不再需要 `customDomains`,而是使用 `subdomain`。
toml
serverAddr = 您的公网服务器IP
serverPort = 7000
auth.token = your_secure_token_here

[[proxies]]
name = web-dev
type = http
localIP = 127.0.0.1
localPort = 8080
subdomain = project-a 最终访问地址为 project-a.dev.xxx.com

[[proxies]]
name = api-dev
type = http
localIP = 127.0.0.1
localPort = 3000
subdomain = backend 最终访问地址为 backend.dev.xxx.com


启动与管理

1、 启动服务端:
在公网服务器上,确保防火墙开放了 `7000` (bindPort), `80` (vhostHTTPPort), `443` (vhostHTTPSPort, 如需HTTPS) 等端口。
bash
前台启动(便于调试)
./frps -c ./frps.toml

推荐:后台启动并设置开机自启
先创建 systemd 服务文件 /etc/systemd/system/frps.service
sudo systemctl daemon-reload
sudo systemctl start frps
sudo systemctl enable frps


2、 启动客户端:
在每台内网服务器上启动对应的 `frpc`。
bash
前台启动
./frpc -c ./frpc.toml

后台启动并设置开机自启
创建 /etc/systemd/system/frpc.service
sudo systemctl daemon-reload
sudo systemctl start frpc
sudo systemctl enable frpc


结合 Nginx 实现 HTTPS (推荐)

虽然 FRP 支持 `type=https`,但更常见的做法是让 `frps` 监听 `80` 和 `443` 端口,然后结合 Nginx 来处理 SSL 证书,再将流量转发给 FRP 的 HTTP 端口。

1、 在 `frps.toml` 中,将 `vhostHTTPPort` 设为一个非80的端口,如 `8080`。
2、 在公网服务器上安装 Nginx,并为 `git.xxx.com` 和 `maven.xxx.com` 分别申请 SSL 证书(可以使用 Let's Encrypt 的 `certbot`)。
3、 配置 Nginx 的反向代理:
nginx
server {
listen 80;
listen 443 ssl http2;
server_name git.xxx.com;

ssl_certificate /path/to/git.xxx.com/fullchain.pem;
ssl_certificate_key /path/to/git.xxx.com/privkey.pem;

location / {
proxy_pass http://127.0.0.1:8080; 转发到frps的vhostHTTPPort
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

对 `maven.xxx.com` 做类似的配置。

这样,外部用户通过 HTTPS 安全地访问您的域名,Nginx 负责解密,然后通过 HTTP 将请求发送给 `frps`,`frps` 再通过隧道将其送达内网的 `frpc` 和最终服务。

通过以上步骤,您就可以成功利用 FRP 实现多域名的内网穿透,方便、安全地对外提供内网服务。

Ai作答

📣 商家广告


看相

算命

域名抢注

广告招商

广告招商


0

IP地址: 43.118.210.184

搜索次数: 0

提问时间: 2025-11-07 13:19:19

🛒 域名购买
887.net.cn
rjxh.cn
app.ln.cn
wk.gs
zhansou.com.cn
82.chat
rdqq.cn
6-6.com.cn
46.gold
app.hl.cn

❓️ 热门提问
洛阳dns服务器
云服务器ecs推荐
新加坡网盘
云服务器 ecs 云空间
FaaS源码开发
外国高防服务器
tx.us域名
seo优化服务
便宜的台式机
服务器实体购买
豌豆Ai站群搜索引擎系统

🌐 域名评估
vv.zj.cn
vv.hl.cn
dd.he.cn
wuau.cn
su7.kim
su8.he.cn
nxiw.cn
nszv.cn
xgyp.cn
ff.gz.cn

⛏ 最新挖掘
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜

🖌 热门作画

🤝 关于我们:
豌豆Ai 域名 建站 站群 留痕 推广 评估 源码
开发Ai 工具 日记 价格 加盟 广告 流量 留言 联系

🗨 加入群聊
群

🔗 友情链接
温泉设计施工公司  搜站点  ai提问

🧰 站长工具
Ai工具  whois查询  搜索

📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。

上一篇 73605 73606 73607 下一篇