nginx https代理node服务请求第三方接口时无响应 Error: Hostname/IP doesn‘t match certificate‘s altnames

错误内容:

在这里插入图片描述

解决方法:

方案 1
第三方发起请求的文件顶部加上下面这句代码:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; 

//request axios 请求写下面
...

方案 2 添加 rejectUnauthorized: false
request请求时设置:

let request = require( 'request' ).defaults({rejectUnauthorized:false});

https请求时设置:

var agent = new https.Agent({
  ...
  rejectUnauthorized: false
});

axois请求时设置:

const instance = axios.create({
  httpsAgent: new https.Agent({
    rejectUnauthorized: false
  })
});
在 Spring Boot 和 Vue.js 应用程序中,我们可以使用 HTTPS 协议来加密数据传输。HTTPS 是基于 SSL/TLS 协议的安全 HTTP 协议,可以在客户端和服务器之间提供端到端的加密和身份验证。 在 Spring Boot 中,我们可以使用 Spring Security 来配置 HTTPS 支持。我们可以通过以下方式启用 HTTPS: 1. 在 application.properties 文件中设置服务器端口和 SSL 配置: ``` server.port=8443 server.ssl.key-store=classpath:keystore.jks server.ssl.key-store-password=changeit server.ssl.key-password=changeit ``` 2. 创建 keystore.jks 文件并将其放在 src/main/resources 目录下。我们可以使用 keytool 工具来生成 keystore.jks 文件: ``` keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.jks -validity 3650 ``` 在 Vue.js 中,我们可以使用 axios 库来进行数据传输,并且可以使用 interceptors 来拦截请求响应,以进行加密和解密操作。 以下是一个使用 axiosHTTPS 的示例: ```javascript import axios from 'axios'; const HTTPS = axios.create({ baseURL: 'https://localhost:8443/api/', timeout: 5000, headers: { 'Content-Type': 'application/json', }, withCredentials: true, httpsAgent: new https.Agent({ rejectUnauthorized: false, }), }); HTTPS.interceptors.request.use( (config) => { // 对请求数据进行加密操作 return config; }, (error) => { return Promise.reject(error); } ); HTTPS.interceptors.response.use( (response) => { // 对响应数据进行解密操作 return response; }, (error) => { return Promise.reject(error); } ); export default HTTPS; ``` 在上面的代码中,我们创建了一个名为 HTTPSaxios 实例,并配置了 baseURL、timeout、headers、withCredentials 和 httpsAgent。我们还使用了 interceptors 来拦截请求响应,并对数据进行加密和解密操作。其中,withCredentials 和 httpsAgent 用于支持跨域请求和自签名证书的 HTTPS 请求。 请注意,使用自签名证书的 HTTPS 请求在浏览器中可能会遇到安全警告,因为浏览器无法验证服务器的身份。如果您想要使用正式的 SSL 证书,请从信任的 SSL 证书颁发机构(CA)购买证书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值