angular - SSL 证书上的 Angular 后端错误 (ERR_SSL_PROTOCOL_ERROR)
问题描述
我有一个 Angular 8 应用程序在 http 上运行良好。
我刚刚安装了一个运行“certbot --apache”的letsencrypt证书。证书有效,我现在可以看到我的域上的安全锁。
修复安装证书后出现的环境问题后,
apiUrl: 'https://app.xyz.com:8080'
我现在收到一个新错误(net::ERR_SSL_PROTOCOL_ERROR),表明后端无法看到在前端运行的证书并且无法处理 https 连接。
如何将刚刚创建的证书“传递”到后端,以便两者都能正常通信?或者,我是否需要在后端安装第二个 SSL 证书?
解决方案
在我从 Stackoverflow 外部获得一些帮助后,我做对了。
对于未来面临同样问题的任何人,这就是我所做的。我在后端服务器(Node.js)上创建了另一个端口,如下所示:
//Server
const https = require("https");
const express = require('express');
const app = express();
var app_https = express();
var cors = require('cors');
const fs = require("fs");
app.use(express.json(), cors());
app_https.use(express.json(), cors());
const options = {
key: fs.readFileSync('../src/assets/keys/privkey.pem'),
cert: fs.readFileSync('../src/assets/keys/cert.pem')
};
app_https = https.createServer(options, app);
//PORT ENVIRONMENT VARIABLE
const port = process.env.PORT;
app_https.listen(port, () => console.log(`Running on port localhost:${port}`));
This was enough to access "https://www.xyzabcpqr.com:port/api/" and put it back
together.
推荐阅读
- c# - UWP C# Menuflyout 在第一次单击期间无法正确显示项目
- kubernetes - Istio (1.0) 内部 ReplicaSet 路由 - 支持 Kubernetes Deployment 中 pod 之间的流量
- embedded-linux - 更新以前基于主分支但现在随版本发布的配方
- angular - 如何在 Angular 6 的请求选项中添加标头?
- javascript - 如何提高性能
- javascript - 将 ng-value 数据传递给 ng-model
- hive - Apache flink 是否有任何与 Spark HiveContext 相同的 api?
- php - PHP按顺序长时间运行脚本
- javascript - 如何在 Windows 10 中安装 node-openalpr
- dictionary - 关于 Golang 编程语言中的地图