使用新版frp为多个内网web服务添加https支持

这篇具有很好参考价值的文章主要介绍了使用新版frp为多个内网web服务添加https支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备

  1. 二级域名一个(example.com)
  2. 云服务器一台(假如ip为:server-ip)
  3. 申请一个或多个三级域名的 SSL 证书,并下载为 crt/key 格式证书
    1. domain1.example.com
    2. domain2.example.com
    3. domain3.example.com
  4. 将申请SSL证书的相关三级域名 A记录 DNS解析指向 server-ip
  5. 一个或多个本地内网web服务

下载对应frp压缩包

前往 Frp Github Releases 页面下载对应的压缩包:

使用新版frp为多个内网web服务添加https支持,技术文章,前端,https,网络协议,后端,中间件,gateway,golang

客户端amd64的windows系统,服务器也是amd64架构。

服务端配置

使用wget下载对应的压缩包

wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz
tar -zxvf frp_0.53.2_linux_amd64.tar.gz
cd frp_0.53.2_linux_amd64
vim frps.toml
  • 编辑 frps.toml

    bindPort = 7000
    vhostHTTPSPort = 443
    auth.token = "passwordAuthToken" # 更改为自己的密码,用于客户端与服务端连接的密钥
    webServer.addr = "0.0.0.0"  
    # 服务端web管理页面端口以及账号密码
    webServer.port = 7500
    webServer.user = "admin"         
    webServer.password = "admin"
    

运行

./frps -c frps.toml

可以访问 http://server-ip:7500 登录管理面板 账号密码均为设置 admin

客户端配置

解压下载好的 frp_0.53.2_windows_amd64.zip

cd frp_0.53.2_windows_amd64
mkdir ssl
cd ssl
mkdir domain1.example.com
mkdir domain2.example.com
mkdir domain3.example.com

将下载好的 SSL 证书下载,放到 ssl 文件夹对应的域名文件夹下

以阿里云域名SSL证书为例,下载下来的 crt/key 证书如图:

使用新版frp为多个内网web服务添加https支持,技术文章,前端,https,网络协议,后端,中间件,gateway,golang

内网服务域名穿透对应如下

domain1.example.com  --> 127.0.0.1:3000
domain2.example.com  --> 127.0.0.1:4000
domain3.example.com  --> 192.168.0.93:5000  # 局域网web服务,非本机服务
  • 编辑 frpc.toml

    serverAddr = "server-ip"
    serverPort = 7000
    auth.token = "passwordAuthToken"
    
    # 客户端管理面板
    webServer.addr = "127.0.0.1"
    webServer.port = 7400
    webServer.user = "admin"
    webServer.password = "admin"
    
    [[proxies]]
    name = "domain1_https"                  # 名称,随意填,与后面的name不可重复
    type = "https"
    customDomains = ["domain1.example.com"] # 需要指向的域名,后面运行后使用这个域名访问
    [proxies.plugin]
    type = "https2http"
    localAddr = "127.0.0.1:3000"                                         # 需要穿透的本地web服务
    crtPath = "./ssl/domain1.example.com/domain1.example.com_public.crt" # 对应域名的 crt 证书
    keyPath = "./ssl/domain1.example.com/domain1.example.com.key"        # 对应域名的 key 证书
    hostHeaderRewrite = "127.0.0.1"                                      # 与 localAddr 的 ip 对应即可
    requestHeaders.set.x-from-where = "frp"
    
    [[proxies]]
    name = "domain2_https"
    type = "https"
    customDomains = ["domain2.example.com"]
    [proxies.plugin]
    type = "https2http"
    localAddr = "127.0.0.1:4000"
    crtPath = "./ssl/domain2.example.com/domain2.example.com_public.crt"
    keyPath = "./ssl/domain2.example.com/domain2.example.com.key"
    hostHeaderRewrite = "127.0.0.1"
    requestHeaders.set.x-from-where = "frp"
    
    [[proxies]]
    name = "domain3_https"
    type = "https"
    customDomains = ["domain3.example.com"]
    [proxies.plugin]
    type = "https2http"
    localAddr = "192.168.0.93:5000"        # 局域网 web 服务
    crtPath = "./ssl/domain3.example.com/domain3.example.com_public.crt"
    keyPath = "./ssl/domain3.example.com/domain3.example.com.key"
    hostHeaderRewrite = "192.168.0.93"
    requestHeaders.set.x-from-where = "frp"
    

运行

./frpc.exe -c frpc.toml

访问

浏览器输入 https://domain1.example.com 即可使用https协议正常访问

使用新版frp为多个内网web服务添加https支持,技术文章,前端,https,网络协议,后端,中间件,gateway,golang

我的博客,欢迎前往: https://blog.ivwv.site/文章来源地址https://www.toymoban.com/news/detail-767582.html

到了这里,关于使用新版frp为多个内网web服务添加https支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包