公司做公众号开发,在填写申请信息的时候卡在了校验文件文件上,经过一番设置,解决了此问题。
微信官网的信息很简单,就一句话:“请下载校验文件,并将文件放置在域名根目录下,例如wx.qq.com,并确保可以访问该文件。”
意思是指,访问“http://123456.com/9PWPGNJ75b.txt”,需要能读取到文件信息!!
注:“123456.com”为举例使用的域名
在浏览器访问如图:
或者在cmd使用curl命令访问:
如对您有帮助,请右侧点赞哦!
环境:阿里云ECS(linux)、tomcat、nginx (延续上一篇官网配置信息的环境)
步骤:
1、自己选个linux的目录,用于存放微信校验文件,我选的目录是:
/usr/local/tomcat/tomcat9-80/webapps/authFile
2、在tomcat的server.xml里面,增加如下配置:
<Context docBase="/usr/local/tomcat/tomcat9-80/webapps/authFile" path="/authFile" reloadable="true" />
重启tomcat,在浏览器检查是否能访问:
成功,代表tomcat配置没问题
3、打开nginx的conf配置文件,增加如下配置:
location /9PWPGNJ75b.txt {
proxy_pass http://123456.com/authFile/9PWPGNJ75b.txt;
}
配置完成的状态:
server {
listen 80;
server_name www.123456.com;
location / {
proxy_pass http://gateway;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /9PWPGNJ75b.txt {
proxy_pass http://123456.com/authFile/9PWPGNJ75b.txt;
}
}
重启nginx,浏览器访问“http://123456.com/9PWPGNJ75b.txt”,能读取到校验文件!
4、微信申请页面,再次点击提交,提示成功,搞定!
在解决的过程中,一开始是把校验文件放在“gateway”的目录下,这是不能访问的,因为gateway采用了springmvc,拦截了所有请求,导致访问不到验证文件,也许修改web.xml也可以。但这样就侵入了代码!后续还是要用nginx,所以就从部署这里下文章了!