由于公司办公网络 IP 不是固定的,每次变更时,本地开发机器调用微信开放平台接口时都会因为IP白名单问题而报错。
一个有效但繁琐的解决办法是,每次报错时,手动获取本机新的IP并登录开放平台将IP加入到白名单中。
这样做,一两次还好,如果经常如此,怕谁也受不了。
下面提供一个更高效的方式。(这个方式不限于公众号开发,基本上所有同类问题都可照此方法解决!)。
既然问题出在 IP 会变化上,我们就想办法弄一个不会变的 IP 来使用。
互联网公司基本都会有自己的公网服务器,而且这个公网服务器 IP 一般是不会变的,能利用这个不变的 IP ,岂不妙?
怎么做?
之前的文章 《ssh二三事》中,介绍过 SSH 的一些用法,尤其是强大的端口转发。
我们要做的,是把公网服务器的 IP 设置到开放平台IP白名单中,再将公网服务器设置为一个代理,本地开发机器使用这个代理来发送请求。如此一来,当本地机器调用开放平台接口时,对开放平台而言,看到的 IP 会一直是公网服务器的,不会受到本机 IP 改变的影响。
目的达成。
实现步骤如下:
打开动态端口转发(socks5代理):
# 在开发机器上执行
ssh -D 12345 -N your_server复制
把 your_server 换成公网服务器登录地址。
通过以下命令检查代理是否成功:
# 在开发机器上执行
# 会发现返回的ip是公网服务器的ip
curl -x socks5://127.0.0.1:12345 httpbin.org/ip复制
在IDE中设置jvm运行参数:
-DsocksProxyHost=localhost -DsocksProxyPort=12345
复制
Intellij IDEA 中设置截图如下:

给用到的网络库设置代理
如果你用的是 Spring 框架内置的 RestTemplate 来调用公众平台接口,请参考网络上设置代理的方法。
我用的是封装好的微信公众平台API,试了一下,它会自动应用上上面的jvm参数:
<!-- 我使用的公众平台库 -->
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-mp</artifactId>
<version>3.9.0</version>
</dependency>复制
以上,本地开发时的IP白名单问题就化解了,不用再为频繁变动的 IP 问题而烦扰。
- END -文章转载自背井,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
【专家观点】罗敏:从理论到真实SQL,感受DeepSeek如何做性能优化
墨天轮编辑部
1318次阅读
2025-03-06 16:45:38
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
920次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
AI的优化能力,取决于你问问题的能力!
潇湘秦
442次阅读
2025-03-11 11:18:22
优炫数据库成功应用于国家电投集团青海海南州新能源电厂!
优炫软件
346次阅读
2025-03-21 10:34:08
达梦数据与法本信息签署战略合作协议
达梦数据
300次阅读
2025-03-06 09:26:57
国产化+性能王炸!这套国产方案让 3.5T 数据 5 小时“无感搬家”
YMatrix
288次阅读
2025-03-13 09:51:26
GoldenDB数据库社区正式上线!期待与您共享新知
GoldenDB分布式数据库
242次阅读
2025-03-12 14:06:39
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
240次阅读
2025-03-10 07:58:44