在浏览器中,我可以从带有脚本标签的CDN加载Axios:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
然而,用于双向TLS的类https.Agent不存在,也不清楚如何加载它
const httpsAgent = new https.Agent({
rejectUnauthorized: false,
cert: ...,
key: ...
})
....
axios.post('https://....', {...}, { httpsAgent } )
控制台中的错误:未捕获引用错误:未定义https
本地示例通常显示require(如下(,但https应该可以从类似unpkg的CDN加载?
const https = require('https');
const axios = require("axios");
(附言:谷歌搜索"https"没用(
我使用客户端浏览器证书解决了这个问题。当web服务器启用SSL客户端验证时,它将请求客户端证书。使用这种技术,证书是带外传递的,而不是Axios post((调用。
在Nginx上,可以使用确定用于验证证书的CA的ssl_verify_client和ssl_trusted_certificate进行配置。在初始TLS交换期间,用户浏览器中的弹出窗口将提示他们选择要发送的证书。
用户必须在浏览器中配置客户端.p12(证书和密钥的组合(。在Chrome上:
Chrome首选项>隐私和安全(附加设置(>管理证书
HTTPS请求可以在没有显式身份验证的情况下进行:
axios.post('https:....., dataArg)