/
CATEGORY
工具與觀念
/
使用 Ngrok 掛 API 代理出現 err_ngrok_6024 的解決方法

使用 Ngrok 掛 API 代理出現 err_ngrok_6024 的解決方法

MUKI AI Summary

使用 Ngrok 免費版代理 API 時,因為前導頁導致出現 ERR_NGROK_6024 錯誤。這是因為 API 網址被導向前導頁,無法直接訪問 API 資料。由於 API server 是本機測試環境,無法修改 header 或使用攔截器解決。

可以透過 Chrome Extension Requestly 來解決此問題。安裝後,設定 HTTP 規則,添加 URL 規則:https://.ngrok-free.app/https://*.ngrok-free.app,並加入 ngrok-skip-browser-warning: true。這樣就能跳過 Ngrok 的介紹頁,成功取得 API 資料。此方法適用於本機開發,如需正式上線,建議使用 Ngrok 付費版。...

發生錯誤的原因

選擇 Ngrok 的前情提要:

  • 為了解決 Mixed content (HTTP & HTTPS) 的問題:前端環境是 https,後端 API 為 http

    我用 Ngrok 免費版掛代理,讓 API url 變成 https:// 開頭。而正是因為使用 Ngrok 免費版,當你輸入 Ngrok 提供的網址時,他會先進入一個前導頁,像是這樣的畫面:

    所以,如果我代理的是純 API 網址,就會因為這一頁導致我打 API 時候出現 ERR_NGROK_6024 錯誤。

    ▼ 開發者工具的 Network 頁籤 ➡️ API Preview 面板,沒辨法回傳正確的資料:

    原本加個 header 就能解決,但這個 API server 是我用 Docker 建立的本機測試環境,且這些 API 都是作者封裝好的,所以出現兩個情況:

    1. 我沒辦法隨意加入 header
    2. 我沒辦法用攔截器攔截到這些 API 資料,因為他是包在後端裡面的,不是由前端控制。

    用 Requestly 協助加入 API 規則

    如果你跟我一樣,因為一些原因,沒辦法從前端打 API 的地方加入 request header,可以考慮使用第三方套件做輔助。

    我找到了一個 Chrome Extension:Requestly - Intercept, Modify & Mock HTTP Requests,可以協助我們處理 reqeust header。

    ▼ 安裝後會自動開啟 Requestly 的網站,選擇「HTTP Rules」➡️ 右上角的「New Rule」後,再選擇「Modify Headers」➡️ 「Create Rule」開始設定規則

    ▼ 設定了兩個 URL 規則,可以直接複製貼上

    URL 1:https://.ngrok-free.app/

    URL 2:https://*.ngrok-free.app

    兩個網址的規則都相同:ngrok-skip-browser-warning: true

    最後記得點選右上角的「Save rule」存檔,這樣就可以了。

    ▼ 再打一次 API,看到 reqeust header 已加入這段設定

    ▼ 這樣就能跳過 Ngrok 的介紹頁,順利取得 API 資料了。

    結語

    使用 Requestly 協助加入 request header 的前提是,我需要開發串接 API,但我又沒辦法自行修改 request header,就能使用這個工具。當然這狀況僅限於本機開發,如果要正式上線,我就不會用 Ngrok 掛 HTTPS 代理,或是改用 Ngrok 付費版以解決這問題。

    歡迎給我點鼓勵,讓我知道你來過 :)

    1
    MUKI says:

    如果文章有幫助到你,歡迎分享給更多人知道。文章內容皆為 MUKI 本人的原創文章,我會經常更新文章以及修正錯誤內容,因此轉載時建議保留原出處,避免出現版本不一致或已過時的資訊。

    本文地址:https://muki.tw/ngrok-err-ngrok-6024/ 已複製

    Subscribe
    Notify of
    guest

    0 則留言
    Oldest
    Newest Most Voted
    Inline Feedbacks
    View all comments
    Copyright © since 2008 MUKI space* / omegaSS theme All Rights Reserved.