【記錄】微信公眾號開發,解決linux服務器上將MP_verify_4HwaqM92KaKTP38.txt文件放置在域名根目錄下並確保可以訪問。


 

   前言:我相信很多人在做微信開發的時候會設置網頁授權域名,只有授權的域名才能調用微信接口獲取accessToken,有了token可以做很多事。

微信公眾號API官方地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

本人在本地環境開發微信的時候,直接把這個歌txt文件放在src\main\resources\static\下面,這樣是沒問題的,可以授權成功。

但是項目上線后發現兩個問題:

這個校驗txt文本應該放在linux的哪個位置呢?

放置好后能不能通過 域名/MP_verify_4HwaqM92KaKTP38.txt訪問到呢?

 

官方的話是這樣描述的:

將以下文件上傳至填寫域名或路徑指向的web服務器(或虛擬主機)的目錄(若填寫域名,將文件放置在域名根目錄下,
例如wx.qq.com/MP_verify_4HwaqM92KaKTP38.txt;若填寫路徑,將文件放置在路徑目錄下,
例如wx.qq.com/mp/MP_verify_4HwaqM92KaKTP38.txt),並確保可以訪問。

放在域名根目錄下?根目錄在哪里?(本人用的阿里雲  centOS7.5,如果有朋友有知道的麻煩留言告訴一下)

針對以上問題,查閱了很多資料,現在終於解決。

(可能每個人解決方式不同,我記錄下我是如何解決的,也希望能給有需要的朋友一點啟示)

 

資料一:(本人試驗,沒有成功)https://blog.csdn.net/loveer0/article/details/83994201?depth_1-utm_source=distribute.pc_relevant.none-task 

文章中的做法是寫一個controller

@Controller
@RequestMapping({"/"})
public class WxConfigController {
 
    @RequestMapping({"MP_verify_xxxxxx.txt"})
    @responseBody
    private String returnConfigFile() {
        //把MP_verify_xxxxxx.txt中的內容返回
        return "";
    }
}

 

想法很好,感覺很對,但是實踐后發現還是訪問不到,不知道什么原因,如果你試驗成功了,請再下方留言告訴下需要注意哪幾點,感謝。

 

資料二:https://blog.csdn.net/m0_37852553/article/details/80368415

文章中說只需要將TXT文本放在服務器上一個叫 htdocs的目錄下,

我反正是沒找到,不知道是不是我們的服務器不一樣  PASS

 

 

 

資料三:https://www.cnblogs.com/LLD-3/p/10635808.html

這篇文章也是講的微信授權的,其中有一句話給了我啟發

將授權文件放到tomcat的root文件夾下面就好了

 

是啊,放到root下面試一試,有想法了,就是干!

1:找到tomcat下面的ROOT文件夾(下載tomcat的時候解壓都會有這個目錄,如果你的沒了,可以復制一份到webapps下面)

2:將微信授權的TXT文本放進去

 

 

 

3:配置nginx

 

 

 

 

注意標紅框的你可以寫服務器上tomcat的地址(ip:端口)

因為我配置了負載均衡 upstream,所以這里寫的自定義域名

 

 

 

4:重啟nginx

 

之后我們通過訪問www.xxx.com/MP_verify_4HwaqM92KaKTP38.txt 可以讀取到文本內容。

 

激動,開心,又解決一個問題,有時候程序員的快樂就這么簡單。

如果本篇文章幫助到你,麻煩點下右下角推薦。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM