點燈坊

失くすものさえない今が強くなるチャンスよ

如何使 Axios 取消 SSL 檢查 ?

Sam Xiao's Avatar 2020-03-10

在開發階段有時會將 API 取消 SSL 檢查,在 Axios 有兩種方式設定。

Version

macOS Catalina 10.15.3
Node 12.4.0
Axios 0.19.2

Request Level

import axios from 'axios'
import { Agent } from 'https'

let httpsAgent = new Agent({
  rejectUnauthorized: false
})

axios.get(uri, { httpsAgent })

https 取出 Agent 建立 httpsAgentrejectUnauthorizedfalse,並在 axios.get() 的第二個 argument 傳入。

Instance Level

import axios from 'axios'
import { Agent } from 'https'

let httpsAgent = new Agent({
  rejectUnauthorized: false
})

let myAxios = axios.create({
  httpsAgent
})

myAxios.get(uri)

也可將 httpsAgent 傳入 axios.create() 建立 Axios instance,如此則不用每個 get() 都設定。

Conclusion

  • 若要整個 project 使用相同設定,則使用 instance level 較方便