frp实现Https + wss 的内网穿透访问

起因

项目中需要接入音视频功能,web端需要通过WebRTC与音视频厂商进行通信,而使用WebRTC又有些限制:本地localhost调试没问题,但是其他环境访问必须要走https协议,并且项目中也涉及到websocket的通信。所以为了便于测试,使用FRP实现了https的内网穿透访问。

过程探索

1. frp 配置https

        这一步没有问题,直接按照官方的配置来就行了

2. frp 配置websocket

        配置的时候采用tcp的协议,也可以是想websocket的内网穿透,但是当与https结合的时候,wss始终连接不上,下面是我的一个配置,我估计连不上是是因为https证书的问题,证书绑定到了https对应的1443,而websocket是另一个端口,尝试使用了1443端口发现有问题。

        最后想了下,既然nginx可以转发websocket,那frp索性就只管https的内网穿透,其他的都交给nginx就可以了。

最终方案(frp + nginx)

对frp还不了解的可以看这篇文章:

frp实现web服务的内网穿透-CSDN博客文章浏览阅读89次。frp 是一款高性能的反向代理应用,专注于内网穿透。https://blog.csdn.net/zqcj6291151/article/details/141390490这边直接贴配置脚本

客户端frpc配置文件如下:

serverAddr = "serverIP"
serverPort = port

[[proxies]]
name = "test_htts2http"
type = "https"
customDomains = ["customdomain.com"]

[proxies.plugin]
type = "https2http"
localAddr = "127.0.0.1:80"


# HTTPS 证书相关的配置
crtPath = "/usr/local/frp_0.59.0_linux_amd64/server.pem"
keyPath = "/usr/local/frp_0.59.0_linux_amd64/server.key"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"

nginx配置文件如下:

http {
        ...

        map $http_upgrade $connection_upgrade {
            default upgrade;
            ''      close;
        }

         

        ...

        

        server {
            ...

            location /wspath/ {
                proxy_pass http://ip:port/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection $connection_upgrade;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
            ...

        }

}

也可以参考这篇 如何在Nginx中配置websocket的转发-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值