FRP 内网穿透

FRP 内网穿透

 

frp 对外https 对内http

实现步骤

1. 准备环境

  • 内网服务:一个提供 HTTP 服务的应用(如运行在 http://localhost:8080)。
  • FRP 服务端:运行在公网服务器上,负责将 HTTPS 请求转发到内网。
  • FRP 客户端:运行在内网,负责将请求通过隧道传递到内网服务。

2. 配置 FRP 服务端

在公网服务器上运行 FRP 服务端,确保 frps.ini 包含以下配置:

ini
[common] bind_port = 7000 # 客户端连接的端口 vhost_https_port = 443 # 对外暴露的 HTTPS 端口

启动 FRP 服务端:

bash
./frps -c frps.ini

3. 配置 FRP 客户端

在内网服务器上运行 FRP 客户端,配置 frpc.ini

ini
[common] server_addr = <公网服务器IP> server_port = 7000 # 服务端的绑定端口 [web-https] type = https local_ip = 127.0.0.1 local_port = 8080 # 内网 HTTP 服务的端口 custom_domains = yourdomain.com # 对外访问的域名

启动 FRP 客户端:

bash
./frpc -c frpc.ini

4. 配置 HTTPS 证书

FRP 支持 HTTPS,但需要提供证书文件。如果你有自己的证书,可以在 FRP 服务端配置:

  1. 将证书文件 server.crt 和私钥 server.key 放到 FRP 服务端所在目录。
  2. 修改 frps.ini
    ini
    [common] bind_port = 7000 vhost_https_port = 443 # 指定证书路径 vhost_https_tls_cert_file = ./server.crt vhost_https_tls_key_file = ./server.key

如果没有证书,可以使用 Let's Encrypt 获取免费证书。


5. 访问服务

  • 外部用户通过 https://yourdomain.com 访问服务。
  • FRP 服务端会将请求解密后通过隧道传递到内网的 HTTP 服务。
posted @   嘉合  阅读(1)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示