k8s ingress service endpoints 解决微信服务器验证问题(内网穿透)

本文主要是介绍k8s ingress service endpoints 解决微信服务器验证问题(内网穿透),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近公司要搞微信公众号开发,想用自己公司内网的电脑调试,但涉及到微信服务器地址(URL)验证的问题(内网穿透),查了网上一堆文章有推荐ngrok的,但被微信墙了;有推荐sunny-ngrok的,免费服务器用了一会就不行了,再用就得充钱;还有推荐花生壳的,结果又要实名认证还要充钱。一怒之下,决定自己搞。好在公司有一台腾讯云服务器,公司也有外网IP,话不多说,开干。

配置思想如下:微信---->腾讯云(k8s)---->公司IP---->我的内网电脑

1、先配ingress,wx.xxx.com 是公司域名需要做DNS解析到k8s公网IP;

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:name: wx-ingressannotations:kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/server-snippet: |if ($http_user_agent ~* (Scrapy|Go-http-client/1.1|HttpClient|curl/7.64.1)) {return 403;}
spec:rules:- host: wx.xxx.com     #公司的域名,需改为自己的http:paths:- backend:serviceName: wx-svcservicePort: 80path: /pathType: ImplementationSpecifictls:- secretName: wx-tlshosts:- wx.xxx.com       #公司的SSL证书

2、配置service;

---
apiVersion: v1
kind: Service
metadata:labels:name: wx-svc
spec:type: ClusterIP  # Service类型ports:- port: 80          #这是service的端口protocol: TCPtargetPort: 80    #这是POD的端口

3、配置Endpoints, 一开始没理清Endpoints和ExternalName,想当然的在Service中配置了externalName,还把targetPort指向了公司外网端口,结果发现访问不了。targetPort只能作用在pod上,如果要接收Service的流量,还可以用Endpoints。ExternalName 只能配置域名,不能配置端口;

---
apiVersion: v1
kind: Endpoints
metadata:name: wx-svc     #这里必须跟service的name一致
subsets:
- addresses:- ip: 183.xxx.xxx.xxx   #公司外网IPports:- port: 7777            #公司外网IP端口

4、配置公司的防火墙,设置端口映射,公司外网IP:端口------>我的本地应用IP:端口

5、启动本地微信应用 springboot,完成调试;

最后想了下,其实也可以直接在公司内网做个Nginx代理到我本地应用。刹果!

这篇关于k8s ingress service endpoints 解决微信服务器验证问题(内网穿透)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490836

相关文章

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo