我有一个apache服务器,可以很好地使用我的letsencrypt设置。我可以访问https://并且效果很好。但是,在我运行node.js的其他端口上,当我尝试使用https访问它时,连接被拒绝。然后,当我尝试只是http它的工作原理。所以我做了一些研究,发现了g++ -g -o test main.cpp
模块。
这是我更新的server.js
require('https')
要获取我使用的key.pem和cert.pem文件:
var path = require('path');
var express = require('express');
var https = require('https');
var routes = require('./routes');
var fs = require('fs');
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
var options = {
key : fs.readFileSync('key.pem'),
cert : fs.readFileSync('cert.pem')
};
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
https.createServer(options, app).listen(6767);
成功生成home目录中的两个文件。我不确定它们是否配置正确。
所以,现在,我访问了https://www.example.com:6767但是它在所有浏览器中都有效,我得到一个“证书警告”,说“这个网站可能试图欺骗你,无论如何继续?”等等,在Chrome中,它甚至不允许你“继续”。它会阻止服务器并显示:
openssl genrsa -out key.pem
openssl req -new -key key.pem -out csr.pem
openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem
rm csr.pem
我如何摆脱网络似乎对我的服务器有这种奇怪的看法?
谢谢。