【发布时间】:2018-06-14 09:24:07
【问题描述】:
我已通过letsencrypt.org 成功为我的网站创建了SSL 证书和密钥。我将它们上传到服务器上的一个文件夹中。启动服务器时我没有收到任何错误。
但是当我尝试使用 https:// 在浏览器中加载网站时,我收到“拒绝连接”错误。
这是我用来创建 https 服务器的代码:
'use strict';
const express = require('express');
const fs = require('fs');
const http= require('http');
const https= require('https');
const path = require('path');
const PRIVATEKEY_PATH = path.join(__dirname, '../ssl/server.key');
const CERTIFICATE_PATH = path.join(__dirname, '../ssl/server.crt');
var privateKey = fs.readFileSync(PRIVATEKEY_PATH, 'utf8');
var certificate = fs.readFileSync(CERTIFICATE_PATH, 'utf8');
var credentials = {key: privateKey, cert: certificate};
// Constants
const PORT = process.env.PORT || 8080;
const HOST = '0.0.0.0';
const CLIENT_BUILD_PATH = path.join(__dirname, '../../300meter.ch/build');
// App
const app = express();
// Static files
app.use(express.static(CLIENT_BUILD_PATH));
//ssh
var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app);
// All remaining requests return the React app, so it can handle routing.
app.get('*', function(request, response) {
response.sendFile(path.join(CLIENT_BUILD_PATH, 'index.html'));
});
httpServer.listen(PORT, HOST);
httpsServer.listen(8443, HOST);
如果有人可以帮助我,那就太棒了。谢谢!
【问题讨论】:
-
根据我的经验,
https端口通常设置为 443。我还为我的 express 应用程序使用了letsencrypt,但我设置了一个 nginx 反向代理,它将 http/https 请求重定向到我的应用程序侦听端口 3000。也许您也可以尝试一下
标签: node.js express ssl https lets-encrypt