用frp内网穿透https网站

场景说明

在微信小程序上线测试的时候,自主开发的后端服务在公司局域网,小程序前端在微信公众平台只支持配置https协议的域名来访问服务端。公司一直在使用frp内网穿透工具实现公网访问公司局域网服务,因此,研究如何实现frp代理https请求,通过自定义域名访问部署于内网的 Web 服务。

1方式

frp只做请求穿透代理,frp客户端配置的目标服务器中使用nginx实现https的请求代理
这种方式frp配置简单,系统部署与正常部署相同,使用相对简单,因此选择这种方式实现。

frp
简单来说,就是可以随时随地通过有公网 IP 的服务器中转连接到运行 frpc 程序的任意机器的任意端口

2实现过程

经过测试,发现使用第一种方式实现最为简单。

2.1配置内网穿透,在frp服务端配置文件中启用https

服务端一般安装在公网服务器上

在这里插入图片描述

2.2配置内网穿透,在frp客户端配置文件中增加配置

客户端一般在需要被公网使用的局域网服务器上

type表示请求类型,httphttpstcp
local_ip表示本地服务器的ip地址
local_port表示本地服务器的端口
remote_port表示对公网远程请求暴露的端口
subdomain表示子域名,将拼在一级域名前,例如一级域名为 test.com,子域名为 frp-test,则实际域名为frp-test.test.com
在这里插入图片描述

配置完成后重启服务
查看当前的frp客户端进程,kill该进程

ps -ef|grep frp

在这里插入图片描述

kill 80305

后台运行frp客户端

nohup ./frpc -c ./frpc.ini >> /dev/null 2>&1 &

2.3 申请ssl证书

阿里云免费ssl证书申请参考

2.4 在nginx中配置ssl证书

在阿里云SSL证书列表中下载Nginx服务器的文件,上传到在frp客户端配置的穿透的内网目标服务器上安装的Nginx的目录下,例如/etc/nginx/cert/。
在frp客户端配置的穿透的内网目标服务器上安装的Nginx中配置代理,将域名与证书配置到相应的https配置。
在这里插入图片描述

问题解决

部署成功后,使用域名和frp配置的https服务端代理端口访问无响应,检查frp服务端所在的公网云服务器的安全组配置中是否开放frp配置的https服务端代理端口。例如配置的端口是4430,需要手动添加4430端口的安全组规则,一般默认使用443端口。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于需求电路的 OSPF

注:机翻,未校对。一个小众的功能。 OSPF over a Demand Circuit What is a Demand Circuit? 什么是需求电路? OSPF can be tuned to better handle demand circuits. But what are demand circuits? Are they still relevant today? 可以…

上传视频到阿里云OSS并获取视频时长

使用阿里云sdk&#xff0c;前端页面直传视频文件阿里云OSS存储&#xff0c;文件不需要经过服务端。 技术栈 前端&#xff1a;html、js、layui 服务端&#xff1a;Springboot 1、html页面创建元素 <input type"hidden" name"videoUrl" id"video…

在CentOS 7上安装和使用Webmin的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 简介 Webmin 是一个现代的、适用于任何 Linux 机器的 Web 控制面板。它允许您通过一个简单的界面来管理服务器。使用 Webmin&#xff0…

Java高手之路:每日一练,技能精进秘籍

目录 一、题目知识点java中有两种方式实现线程Servlet生命周期总结 一、题目 选自牛客网 1.后端获取数据&#xff0c;向前端输出过程中&#xff0c;以下描述正确的是 A.对于前端过滤过的参数&#xff0c;属于可信数据&#xff0c;可以直接输出到前端页面 B.对于从数据库获得的…

软件看门狗的设计与实现

在软件开发中&#xff0c;特别是在嵌入式系统、实时系统或任何需要高可靠性和故障恢复能力的领域&#xff0c;看门狗&#xff08;Watchdog&#xff09;机制扮演着至关重要的角色。 看门狗通过监控系统的运行状态&#xff0c;并在系统出现故障或停止响应时采取相应措施&#xf…

【SpringBoot整合系列】SpringBoot+Vue3实现在线编辑Excel

目录 基本实现后端 - Spring Boot依赖创建Controller&#xff08;demo&#xff09; 前端 - Vue 3 Vuetify安装Vuetify和Axios&#xff1a;创建组件 注意事项 基本实现 实现在线预览和编辑Excel的功能&#xff0c;尤其是编辑功能&#xff0c;涉及到更复杂的操作&#xff0c;因…

【YOLOv5/v7改进系列】引入YOLOv9的RepNCSPELAN4

一、导言 YOLOv9的几个主要创新点&#xff1a; Programmable Gradient Information (PGI): PGI是一种机制&#xff0c;用于应对深度网络中实现多目标所需要的多种变化。PGI提供完整的输入信息来计算目标函数&#xff0c;从而获得可靠的梯度信息以更新网络权重。PGI可以自由选择…

python统计文档词数

题目1 莎士比亚的经典悲剧Hamlet&#xff0c;获取该故事的文本文件&#xff0c;保存为hamlet.txt&#xff0c;统计该故事的英文词频。 提示&#xff1a; &#xff08;1&#xff09;处理文本&#xff0c;统一格式。英文单词一般以空格、标点符号或特殊符号进行分割&#xff0c;…

TCP/IP协议——使用Socket套接字实现

目录 Socket 使用Socket实现TCP客户端和服务器的过程 使用Socket搭建TCP服务器 线程优化 向客户端发送消息 连接的断开 客户端主动断开 服务端主动断开 服务器完整的程序 使用Socket编写客户端程序连接TCP服务器 Socket Socket是一种网络通信协议&#xff0c;它允许…

x-cmd pkg | yazi - 超快终端文件管理器

目录 简介快速入门功能特点竞品和相关项目进一步阅读 简介 yazi 是由 github.com/sxyazi 用 Rust 开发的终端文件管理器&#xff0c;支持预览文本文件、pdf 文件、图像、视频&#xff0c;内置代码高亮功能。在内部&#xff0c;它使用 Tokio 作为其异步运行时&#xff0c;以非阻…

【Vue3】watch 监视多种类型数据

【Vue3】watch 监视多种类型数据 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗…

大数据-53 Kafka 基本架构核心概念 Producer Consumer Broker Topic Partition Offset 基础概念了解

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

实战:Zookeeper 简介和单点部署ZooKeeper

Zookeeper 简介 ZooKeeper是一个开源的分布式协调服务&#xff0c;它是Apache软件基金会下的一个项目&#xff0c;旨在解决分布式系统中的协调和管理问题。以下是ZooKeeper的详细简介&#xff1a; 一、基本定义 ZooKeeper是一个分布式的、开放源码的分布式应用程序协调服务&a…

系统架构师考点--系统架构设计(下)

大家好。今天总结一下系统架构设计的最后一部分知识点。 一、软件系统的质量属性 软件系统的质量属性 软件系统的质量属性可分为开发期质量属性和运行期质量属性2个部分。 1、开发期质量属性主要指在软件开发阶段所关注的质量属性&#xff0c;主要包含6个方面&#xff1a; …

C++ 关键字与库函数 学习总结

sizeof与strlen 含义 sizeof&#xff1a;是一个操作符&#xff0c;用于计算数据类型或变量的大小&#xff08;以字节为单位&#xff09;。在编译时求值strlen&#xff1a; 是一个函数&#xff0c;用于计算字符串的长度&#xff08;不包括终止符 \0&#xff09;。在运行时求值不…

【Code】Street-Gaussian代码复现笔记

文章目录 1. EnvironmentBug 1 2. TrainingBug 2Bug 3 1. Environment Follow the original instructions, conda create --name street-gaussians-ns -y python3.8 conda activate street-gaussians-ns pip install --upgrade pippip install torch2.1.2cu118 torchvision0.…

深度解析程序员面试中的“八股文”:助力还是阻力?

深度解析程序员面试中的“八股文”&#xff1a;助力还是阻力&#xff1f; 引言 在如今的求职市场中&#xff0c;程序员面试中的“八股文”几乎成为了一种必考内容。所谓“八股文”&#xff0c;指的是一系列标准化的技术面试题目&#xff0c;这些题目涵盖了算法、数据结构、操…

杂记-镜像

-i https://pypi.tuna.tsinghua.edu.cn/simple 清华 pip intall 出现 error: subprocess-exited-with-error 错误的解决办法———————————pip install --upgrade pip setuptools57.5.0 ————————————————————————————————————…

bugku-web-ctf-变量1

<?php error_reporting(0); include "flag1.php"; highlight_file(__file__); if(isset($_GET[args])){$args $_GET[args];if(!preg_match("/^\w$/",$args)){die("args error!");}eval("var_dump($$args);"); } ?> error_r…

setTimeout 和 setInterval

在JavaScript中&#xff0c;setTimeout 和 setInterval 是两个用于定时操作的函数&#xff0c;它们都定义在 window 对象上&#xff0c;并且是Web API的一部分。 setTimeout setTimeout 函数用于在指定的毫秒数后执行一个函数或一段代码。这个函数只执行一次。 语法&#xf…