springboot项目生成自签名证书证书,安装到浏览器了,前端使用https访问方式,还是访问不了springboot后端的api,出现报错umi.js:101 POST https://192.168.1.13:8080/api/v1/st/account/login net::ERR_CERT_COMMON_NAME_INVALID
时间: 2023-08-19 13:05:07 浏览: 45
这个错误是由于自签名证书的 common name (CN) 与主机名不匹配所导致的。在生成自签名证书的时候,需要将 common name 设置为与主机名相同。
如果你使用的是 OpenSSL 生成证书,可以使用以下命令生成证书:
```
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfsigned.key -out selfsigned.crt -subj "/CN=yourhostname"
```
其中,CN=yourhostname 部分需要替换为你的主机名。
如果你已经生成了证书,可以通过以下方式检查证书的 common name 是否正确:
```
openssl x509 -in selfsigned.crt -noout -subject
```
如果输出的 subject 中的 CN 与你的主机名不匹配,需要重新生成证书。
相关问题
umi项目怎么访问自签名证书的springboot后端?
在 Umi 项目中访问自签名证书的 Spring Boot 后端有以下几种方法:
1. 忽略证书验证
在开发环境中,您可以选择忽略对证书的验证。但是,在生产环境中,不建议使用此方法。在 Umi 项目中,您可以使用 `https` 模块忽略证书验证,代码如下:
```javascript
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // 忽略证书验证
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
2. 添加自签名证书
您可以将自签名证书添加到 Umi 项目中。方法如下:
- 将证书文件拷贝到 Umi 项目中的某个目录下。
- 在 Umi 项目中添加以下代码:
```javascript
const httpsAgent = new https.Agent({
ca: fs.readFileSync('/path/to/cert.pem'),
});
fetch('https://example.com/api/data', { agent: httpsAgent })
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
3. 将自签名证书添加到信任列表
您可以将自签名证书添加到操作系统的信任列表中。这样,浏览器就可以信任该证书。具体方法与操作系统有关。在 Windows 中,您可以按照以下步骤操作:
- 双击证书文件,打开证书管理器。
- 选择“安装证书”。
- 选择“当前用户”或“本地计算机”,然后单击“下一步”。
- 选择“将所有的证书都放入下列存储”。
- 单击“浏览”,选择“受信任的根证书颁发机构”。
- 单击“下一步”,然后单击“完成”。
然后,您可以在 Umi 项目中使用普通的 HTTPS 请求:
```javascript
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
react项目怎么访问自签名证书的springboot后端?
在 React 项目中访问自签名证书的 Spring Boot 后端有以下几种方法:
1. 忽略证书验证
在开发环境中,您可以选择忽略对证书的验证。但是,在生产环境中,不建议使用此方法。在 React 项目中,您可以使用 `https` 模块忽略证书验证,代码如下:
```javascript
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // 忽略证书验证
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
2. 添加自签名证书
您可以将自签名证书添加到 React 项目中。方法如下:
- 将证书文件拷贝到 React 项目中的某个目录下。
- 在 React 项目中添加以下代码:
```javascript
const httpsAgent = new https.Agent({
ca: fs.readFileSync('/path/to/cert.pem'),
});
fetch('https://example.com/api/data', { agent: httpsAgent })
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```
3. 将自签名证书添加到信任列表
您可以将自签名证书添加到操作系统的信任列表中。这样,浏览器就可以信任该证书。具体方法与操作系统有关。在 Windows 中,您可以按照以下步骤操作:
- 双击证书文件,打开证书管理器。
- 选择“安装证书”。
- 选择“当前用户”或“本地计算机”,然后单击“下一步”。
- 选择“将所有的证书都放入下列存储”。
- 单击“浏览”,选择“受信任的根证书颁发机构”。
- 单击“下一步”,然后单击“完成”。
然后,您可以在 React 项目中使用普通的 HTTPS 请求:
```javascript
fetch('https://example.com/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
```