我可以在 heroku 上的部署中使用在节点服务器中本地生成的 ssl 证书吗
Can i use ssl certificate generated locally in node server in deployment on heroku
我为使用 https 协议的 React 应用程序创建了一个 Node js 后端。
为此:- 我使用这些命令创建了 SSL:-
openssl genrsa 1024 > private.key
openssl req -new -key private.key -out cert.csr
openssl x509 -req -in cert.csr -signkey private.key -out certificate.pem
然后我使用该证书创建安全服务器 https:-
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
app.set('secPort',port+443);
/**
* Create HTTPS server.
*/
var options = {
key: fs.readFileSync(__dirname+'/private.key'),
cert: fs.readFileSync(__dirname+'/certificate.pem')
};
var secureServer = https.createServer(options,app);
/**
* Listen on provided port, on all network interfaces.
*/
secureServer.listen(app.get('secPort'), () => {
console.log('Server listening on port ',app.get('secPort'));
});
secureServer.on('error', onError);
secureServer.on('listening', onListening);
我的问题是当我在 heroku 上部署它时会出现 ssl 错误吗?如果是,那么我应该怎么做才能使用安全服务器部署它?
您可以包含自签名证书,但用户在访问您的站点时会看到一条警告消息。
Heroku 提到他们提供免费的 SSL 证书,但事实并非如此,除非您有 Hobby ($7/mo) 或 Pro 计划。
虽然您可以获得免费证书,但它不能包含在免费的 Heroku 应用程序中。
我为使用 https 协议的 React 应用程序创建了一个 Node js 后端。 为此:- 我使用这些命令创建了 SSL:-
openssl genrsa 1024 > private.key
openssl req -new -key private.key -out cert.csr
openssl x509 -req -in cert.csr -signkey private.key -out certificate.pem
然后我使用该证书创建安全服务器 https:-
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
app.set('secPort',port+443);
/**
* Create HTTPS server.
*/
var options = {
key: fs.readFileSync(__dirname+'/private.key'),
cert: fs.readFileSync(__dirname+'/certificate.pem')
};
var secureServer = https.createServer(options,app);
/**
* Listen on provided port, on all network interfaces.
*/
secureServer.listen(app.get('secPort'), () => {
console.log('Server listening on port ',app.get('secPort'));
});
secureServer.on('error', onError);
secureServer.on('listening', onListening);
我的问题是当我在 heroku 上部署它时会出现 ssl 错误吗?如果是,那么我应该怎么做才能使用安全服务器部署它?
您可以包含自签名证书,但用户在访问您的站点时会看到一条警告消息。 Heroku 提到他们提供免费的 SSL 证书,但事实并非如此,除非您有 Hobby ($7/mo) 或 Pro 计划。 虽然您可以获得免费证书,但它不能包含在免费的 Heroku 应用程序中。