Nginx代理frp_web_80端口

本文介绍如何使用frp配合Nginx实现80端口的转发,通过修改frp服务端及客户端配置文件,并设置Nginx的代理规则,实现对本地网站的有效访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  • 配置 Nginx
server {
    listen 80;
    server_name *.frp.example.com;
    location / {
        proxy_pass http://127.0.0.1:8080;
        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;
    }
}

非常简单的一个 server 模块,监听 *.frp.example.com 并转发给 127.0.0.1:8080,所以接下来只要将 frp 默认监听 80 端口改成 8080 端口就好了。

  • 配置 frp 服务端:
[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 8080
subdomain_host = frp.example.com

[abc]
type = http
subdomain = abc
auth_token = XXX

这基本就是一个最小配置了,重点在于将 vhost_http_port 设为 8080,其它基本是一致的。

  • 配置 frp 客户端:
[common]
server_addr = 123.123.123.123
server_port = 7000
auth_token = XXX

[abc]
type = http
local_port = 80
subdomain = abc

最后这是 frp 客户端的配置文件,没什么特殊之处,以备后用。现在直接访问 abc.frp.example.com 就可以访问到本地的网站咯~

### 配置 FRP 结合 Nginx 实现反向代理 为了使内部网络中的服务能够被外部互联网访问,可以通过配置 FRPNginx 来实现这一目标。具体来说,在服务器上安装并启动 FRP 客户端 (frpc),它将连接到位于公网上的 FRP 服务端(frpserver)[^1]。 #### 修改 Nginx 配置文件 编辑 `/usr/local/nginx/conf/nginx.conf` 文件来定义新的虚拟主机或修改现有配置: ```nginx server { listen 80; server_name yourdomain.com; location / { 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_pass http://localhost:本地应用监听端口/; } } ``` 上述代码片段展示了如何设置一个简单的 HTTP 反向代理规则[^3]。这里 `yourdomain.com` 应替换为实际使用的域名;而 `http://localhost:本地应用监听端口/` 则指向运行于本机的应用程序接口地址。 #### 设置 FRPC 配置文件 创建或编辑 FRPC 的配置文件 (`frpc.ini`) ,指定要暴露的服务及其映射关系: ```ini [common] server_addr = xx.xx.xx.xx ; 公网上部署的 frps 所在 IP 地址 server_port = 7000 ; 远程 frps 监听端口号,默认即可 [tcp_service] type = tcp ; 协议类型(tcp/http) local_ip = 127.0.0.1 ; 内部服务所在机器 ip,一般填 localhost 或者 127.0.0.1 local_port = 本地应用监听端口 ; 对应上面 nginx 中提到的那个端口 remote_port = 外网访问端口 ; 希望在外网通过哪个端口访问该服务 custom_domains = yourdomain.com; 如果是HTTP(S),则可以填写自定义域名 subdomain = sub ; 子域名称(可选参数) [sub_http_service] type = http ; 明确指明这是web服务 local_ip = 127.0.0.1 local_port = 本地Web应用监听端口 custom_domains = web.yourdomain.com ``` 这段 INI 格式的配置说明了怎样把内网里的 TCP 或 Web 服务转发给外网用户访问[^4]。注意这里的 `xx.xx.xx.xx` 是指远程 FRPS 服务器的真实 IP 地址,并且确保所涉及的所有端口都已经开放防火墙权限。 完成以上两部分配置之后,重启 NginxFRPC 服务使得更改生效。此时应该可以从外界正常访问到受保护在网络内的资源了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值