【记录】微信公众号开发,解决linux服务器上将MP_verify_4HwaqM92KaKTP38.txt文件放置在域名根目录下并确保可以访问。
<p> </p><p> 前言:我相信很多人在做微信开发的时候会设置网页授权域名,只有授权的域名才能调用微信接口获取accessToken,有了token可以做很多事。</p>
<p>微信公众号API官方地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html</p>
<p>本人在本地环境开发微信的时候,直接把这个歌txt文件放在src\main\resources\static\下面,这样是没问题的,可以授权成功。</p>
<p>但是项目上线后发现两个问题:</p>
<p><span style="font-size: 18px; color: rgba(255, 102, 0, 1)">这个校验txt文本应该放在linux的哪个位置呢?</span></p>
<p><span style="font-size: 18px; color: rgba(255, 102, 0, 1)">放置好后能不能通过</span> <span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">域名/MP_verify_4HwaqM92KaKTP38.txt</span><span style="font-size: 18px; color: rgba(255, 102, 0, 1)">访问到呢?</span></p>
<p> </p>
<p>官方的话是这样描述的:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">将以下文件上传至填写域名或路径指向的web服务器(或虚拟主机)的目录(若填写域名,将文件放置在域名根目录下,
例如wx.qq.com/MP_verify_4HwaqM92KaKTP38.txt;若填写路径,将文件放置在路径目录下,
例如wx.qq.com/mp/MP_verify_4HwaqM92KaKTP38.txt),并确保可以访问。</span></pre>
</div>
<p><span style="font-size: 18px; color: rgba(255, 102, 0, 1)">放在域名根目录下?根目录在哪里?(本人用的阿里云 centOS7.5,如果有朋友有知道的麻烦留言告诉一下)</span></p>
<p>针对以上问题,查阅了很多资料,现在终于解决。</p>
<p>(可能每个人解决方式不同,我记录下我是如何解决的,也希望能给有需要的朋友一点启示)</p>
<p> </p>
<p>资料一:(本人试验,没有成功)https://blog.csdn.net/loveer0/article/details/83994201?depth_1-utm_source=distribute.pc_relevant.none-task </p>
<p>文章中的做法是写一个controller</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">@Controller
@RequestMapping({"/"})
public class WxConfigController {
@RequestMapping({"MP_verify_xxxxxx.txt"})
@responseBody
private String returnConfigFile() {
//把MP_verify_xxxxxx.txt中的内容返回
return "";
}
}</span></pre>
</div>
<p> </p>
<p>想法很好,感觉很对,但是实践后发现还是访问不到,不知道什么原因,如果你试验成功了,请再下方留言告诉下需要注意哪几点,感谢。</p>
<p> </p>
<p>资料二:https://blog.csdn.net/m0_37852553/article/details/80368415</p>
<p>文章中说只需要将TXT文本放在服务器上一个叫 htdocs的目录下,</p>
<p>我反正是没找到,不知道是不是我们的服务器不一样 <span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">PASS</span></p>
<p> </p>
<p> </p>
<p> </p>
<p>资料三:https://www.cnblogs.com/LLD-3/p/10635808.html</p>
<p>这篇文章也是讲的微信授权的,其中有一句话给了我启发</p>
<div class="cnblogs_code">
<pre>将授权文件放到tomcat的root文件夹下面就好了</pre>
</div>
<p> </p>
<p>是啊,放到root下面试一试,有想法了,就是干!</p>
<p>1:找到tomcat下面的ROOT文件夹(下载tomcat的时候解压都会有这个目录,如果你的没了,可以复制一份到webapps下面)</p>
<p>2:将微信授权的TXT文本放进去</p>
<p><img src="https://img2020.cnblogs.com/i-beta/1697935/202003/1697935-20200314153102220-309412921.png" alt=""></p>
<p> </p>
<p> </p>
<p> </p>
<p>3:配置nginx</p>
<p> </p>
<p><img src="https://img2020.cnblogs.com/i-beta/1697935/202003/1697935-20200314153246843-422100098.png" alt=""></p>
<p> </p>
<p> </p>
<p> </p>
<p>注意标红框的你可以写服务器上tomcat的地址(ip:端口)</p>
<p>因为我配置了负载均衡 upstream,所以这里写的自定义域名</p>
<p><img src="https://img2020.cnblogs.com/i-beta/1697935/202003/1697935-20200314153426627-1056154305.png" alt=""></p>
<p> </p>
<p> </p>
<p> </p>
<p>4:重启nginx</p>
<p> </p>
<p>之后我们通过访问www.xxx.com/MP_verify_4HwaqM92KaKTP38.txt 可以读取到文本内容。</p>
<p> </p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">激动,开心,又解决一个问题,有时候程序员的快乐就这么简单。</span></p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">如果本篇文章帮助到你,麻烦点下右下角推荐。</span></p>
<p> </p><br><br>
来源:https://www.cnblogs.com/wbl001/p/12492449.html
頁:
[1]