使用frp0.61.0透传局域网的https服务到自有域名

**本文成因:**我之前已经写过多个frp+https的文章,但因为frp版本升级后,更换了配置文件,其格式和之前差别比较明显,其次,之前的教程也过于繁杂,因此做出更新和改进。主要是展示各部分的配置文件,不在对配置原理进行介绍。 对原理感兴趣的,可以参看我之前的文章。

使用frp结合nginx实现对https的反向代理支持_frp+nginx反向代理-CSDN博客

利用frps搭建本地自签名https服务的透传_frp ssl-CSDN博客

一、frps 服务端frps.toml配置

该服务器自身运行着一个web,所以,不占用其80端口 ; 域名为 www.test-service.com

复制代码
cat /etc/frp/frps.toml

bindPort = 7000
vhostHTTPSPort = 443
vhostHTTPPort = 8080

二、frps 服务端 nginx配置

复制代码
cat /etc/nginx/conf.d/test1.conf

server {
        listen      80 ;
        listen      [::]:80 ;
        server_name test1.test-service.com;
        rewrite ^/(.*)$ https://test1.test-service.com:443/$1 permanent;
        #               location / {
        #  proxy_pass http://127.0.0.1:443;
        # }
    }

**注:**仅需要将域名部分替换掉即可,也就是 test1.test-service.com 替换成你自己的

三、frpc 客户端 nginx配置

复制代码
server {
        listen 55580 default_server;       ## 不影响
        listen [::]:55590 default_server;  ## 不影响

        # SSL configuration
        #
         listen 32443 ssl default_server;        ##  指定SSL服务的端口
         listen [::]:32443 ssl default_server;   ##  指定SSL服务的端口

        #ssl证书的pem文件路径
         ssl_certificate  /home/SSL/web.crt;

        #ssl证书的key文件路径
         ssl_certificate_key /home/SSL/web.key;
         
        #web服务的根目录
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
       }

**注:**这里最好改一下ssl listen 的端口号,如果客户端上有多个web服务,则每个web服务要使用不同的配置文件名称和差异化的端口号

四、frpc 客户端frpc.toml配置

复制代码
cat /etc/frp/frpc.toml

serverAddr = "www.test-service.com"
serverPort = 7000

[[proxies]]
name = "ssh-t1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 32222
remotePort = 32222

[[proxies]]
name = "web-1"
type = "https"
localPort = 32443
customDomains = ["test1.test-service.com"]

五、重启相关服务,测试是否成功

分别重启 frps 服务端的 frps 和nginx服务,以及 客户端的frpc服务和nginx服务

复制代码
## 在frps 服务器上

systemctl restart frps
systemctl restart nginx

## 在frpc 服务器上(局域网中)
systemctl restart frpc
systemctl restart nginx

浏览器中打开 https://test1.test-service.com 测试是否成功

相关推荐
发光小北1 小时前
Modbus TCP 转 Profibus DP 网关如何应用?
网络协议
灰子学技术1 小时前
Envoy HTTP 过滤器处理技术文档
网络·网络协议·http
刘马想放假4 小时前
GRE 隧道深度解析:从协议原理到生产实践
网络协议·安全
@CLoudbays_Martin114 小时前
UniApp是否能够接入SDK游戏盾呢?
服务器·网络·网络协议·tcp/ip·安全
AIwenIPgeolocation5 小时前
IP地址数据服务:驱动电子商务精细化运营与智能风控
大数据·网络协议·tcp/ip
tang777895 小时前
代理IP质量检测实战:Python实现IP可用性、延迟、匿名度自动测试脚本
大数据·爬虫·python·网络协议·tcp/ip
科技牛牛5 小时前
街道级IP定位能解决什么问题?哪些团队更适合用
网络·网络协议·tcp/ip·街道级ip定位
时空自由民.5 小时前
HTTP协议和HTTPS协议结合天气获取案例介绍
网络协议·http·https
Chengbei119 小时前
面向红队的 AI 赋能全场景流量分析仪 网页 / APP / 终端 / IoT 全域 HTTPS 抓包解密利器
人工智能·物联网·网络协议·web安全·网络安全·https·系统安全
Hello_Embed9 小时前
【无标题】
网络·笔记·网络协议·tcp/ip·嵌入式