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

相关文章

Prometheus+cpolar如何在手机上也能监控服务器状态?

《Prometheus+cpolar如何在手机上也能监控服务器状态?》本文强调了通过Cpolar这一内网穿透工具,轻松突破Prometheus仅限于局域网访问的限制,实现外网随时随地访问监控数据,教你... 目录前言1.安装prometheus2.安装cpolar实现随时随地开发3.配置公网地址4.保留固定

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p