node搭建https服务器后 浏览器请求报错,postman请求没有问题

发布于 2022-09-11 15:35:42 字数 2100 浏览 35 评论 0

web页面是https的,但是后台还是http的node服务没升级,所以导致前端请求http的ip端口浏览器会报错。

然后按照步骤升级node服务到https后

https://itnext.io/node-expres...
node代码没有问题,启动运行ok

const express = require("express");
const app = express();
const https = require('https')
const http = require('http')
const fs = require('fs')
const bodyParser = require('body-parser')
const jwt= require('jsonwebtoken');
const expressJwt = require('express-jwt');


//根据项目的路径导入生成的证书文件
const privateKey = fs.readFileSync('/etc/letsencrypt/live/xxxx.xxx/privkey.pem', 'utf8');
const certificate = fs.readFileSync('/etc/letsencrypt/live/xxxx.xxx/cert.pem', 'utf8');
const ca = fs.readFileSync('/etc/letsencrypt/live/xxxx.xxx/chain.pem', 'utf8');

const credentials = {
    key: privateKey,
    cert: certificate,
    ca: ca
};
var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
 
//可以分别设置http、https的访问端口号
var PORT = 3001;
var SSLPORT = 3002;
 
//创建http服务器
httpServer.listen(PORT, function() {
    console.log('HTTP Server is running on: http://localhost:%s', PORT);
});
 
//创建https服务器
httpsServer.listen(SSLPORT, function() {
    console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT);
});

但是 前端更改成https://172.XXX.XXX.XXX:3002浏览器会报错,但是postman没有问题

clipboard.png

clipboard.png

然后 如果在前端页面把 ip改成域名https://www.xxx.com:3002 就没问题 费解。。。

chrome的security如下

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深空失忆 2022-09-18 15:35:42

证书签的是域名

爱已欠费 2022-09-18 15:35:42

https证书对应的是域名而不是ip

clipboard.png

花伊自在美 2022-09-18 15:35:42

因为你生成https里指定的是域名而不是IP地址,浏览器有一个验证证书的过程。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文