无法对Next使用letsencrypt,js React和https

2exbekwf  于 2023-04-30  发布在  React
关注(0)|答案(1)|浏览(86)

我正在尝试在我的网站中激活HTTPS。我使用了lets Encrypt来生成证书,它生成文件cert.pemprivkey.pem以及其他文件,我把它们放在.env文件中

HTTPS=true
SSL_CRT_FILE=./cert/cert.pem
SSL_KEY_FILE=./cert/privkey.pem

并且它响应ERR_SSL_PROTOCOL_ERROR
知道吗?

holgip5t

holgip5t1#

.env

HTTPS=true
SSL_CRT_FILE=./cert/cert.pem
SSL_KEY_FILE=./cert/privkey.pem

我假设您的证书文件位于项目根目录下的cert目录中。
这里有一个使用Node的例子。js和dotenv包:

const https = require('https');
const fs = require('fs');
const dotenv = require('dotenv');

dotenv.config();

const options = {
  cert: fs.readFileSync(process.env.SSL_CRT_FILE),
  key: fs.readFileSync(process.env.SSL_KEY_FILE)
};

const server = https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end('Hello, HTTPS world!');
});

server.listen(443, () => {
  console.log('HTTPS server listening on port 443');
});

控件中读取SSL_CRT_FILE和SSL_KEY_FILE变量。env文件,并使用这些文件创建HTTPS服务器。dotenv包用于从加载环境变量。env文件。
确保检查服务器端证书,它应该位于项目的根目录。
希望这能帮上忙。

相关问题