node.js - 表示http客户端连接服务器,https客户端无法连接服务器
问题描述
我已经制作了一个可以很好地使用 http 的服务器。服务器已启动,我可以使用 Chrome 和 Postman 连接到它。当我将服务器切换到 https 时,服务器已启动,但我无法使用 Chrome 和 Postman 连接到它。ssl 密钥由 certbot 签名。
服务器.js
const https = require('https');
const app = require(__dirname+'/app');
const fs = require('fs');
const port = 80;
const options = {
cert: fs.readFileSync("ssl/v2/fullchain.pem"),
key: fs.readFileSync("ssl/v2/privkey.pem")
}
https.createServer(options, app).listen(port);
console.log(port);
应用程序.js
const express = require('express');
const morgan = require('morgan');
const body_parser = require('body-parser');
const homepage = require(__dirname+'/routes/homepage');
const user = require(__dirname+'/routes/user');
const test = require(__dirname+'/routes/test');
const table = require(__dirname+'/routes/table');
const catalog = require(__dirname+'/routes/catalog');
const cart = require(__dirname+'/routes/cart');
const payment = require(__dirname+'/routes/payment');
const app = express();
app.use(morgan("dev"));
app.use(body_parser.json());
app.use(body_parser.urlencoded({extended: true}));
app.use("/", homepage);
app.use("/user", user);
app.use("/test", test);;
app.use("/table", table);
app.use("/catalog", catalog);
app.use("/cart", cart);
pp.use("/payment", payment);
module.exports = app;
解决方案
...服务器已启动,但我无法使用 Chrome 和 Postman 连接到它
从您的描述中不清楚您究竟是如何尝试连接到服务器的,但我假设您将尝试一个简单的https://example.com/
.
const port = 80;
...
https.createServer(options, app).listen(port);
但是根据您的代码,您尝试在为纯 HTTP (80) 保留的端口上使用 HTTPS,而不是使用 HTTPS (443) 的默认端口。因此,https://example.com/
这将不起作用,因为这将尝试使用端口 443,并且您需要使用https://example.com:80/
. 但更好的选择当然是在代码中首先使用 HTTPS 的默认端口,即 443 而不是 80。
推荐阅读
- oop - 在 pharo 中使用 assert:equals:
- objective-c - @synchronized 块内的 OSMemoryBarrier,替换为 atomic_thread_fence
- javascript - 如何在 html 中添加更多值选项?
- image - Aurelia 或 Webpack 未按时绑定图像
- html - 如何检测用户何时停止滚动 - Angular 5
- featuretools - 如何使用来自多个特征/列的值组合创建有趣的值
- javascript - 按行而不是字符截断段落
- active-directory - 如何将 OpenLDAP 与多个 AD 链接
- python - Python类方法:对象没有属性+对象不可下标
- java - 在 Tomcat 的访问日志中记录 HAProxy 特定的密码