让加密证书只接受根路径
lets encrypt certificate only accepted for root path
我已经使用 Let's Encrypt Certbot 安装了证书。该站点可访问且连接安全。
假设该站点是 www.xxxyyy.xyz
,但那里的任何路由 www.xxxyyy.xyz/route
都会跳转到非安全连接,然后站点关闭。知道可能是什么问题吗?
我在快速服务器上链接证书的方式如下:
const fs = require('fs');
const https = require('https');
const http = require('http');
const express = require('express');
const app = require('./app');
var options = {
key: fs.readFileSync('/etc/letsencrypt/live/twotravelers.xyz/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/twotravelers.xyz/fullchain.pem'),
};
var portSecure = '443';
var port = '80';
var httpsServer = https.createServer(/*options,*/ app).listen(portSecure, function(){
console.log("https at port" + portSecure);
});
var httpServer = http.createServer(app).listen(port, function(){
console.log('http at port'+port)
})
有什么想法吗?
找到问题了。对于我使用的阅读路径:
fs.readFileSync('<relativePath>/file')
当 运行 服务器上的应用程序时,我设置了一个服务,这将工作目录更改为根目录 /
。
我们可以添加绝对路径:
fs.readFileSync('<absolutePath>/file')
或者在服务文件中添加一个workingDirectory
(我就是这样做的)。
那弄乱了证书和其他目录的路径。
可能最好的选择是 npm install dotenv
并使用环境变量控制行为。
我已经使用 Let's Encrypt Certbot 安装了证书。该站点可访问且连接安全。
假设该站点是 www.xxxyyy.xyz
,但那里的任何路由 www.xxxyyy.xyz/route
都会跳转到非安全连接,然后站点关闭。知道可能是什么问题吗?
我在快速服务器上链接证书的方式如下:
const fs = require('fs');
const https = require('https');
const http = require('http');
const express = require('express');
const app = require('./app');
var options = {
key: fs.readFileSync('/etc/letsencrypt/live/twotravelers.xyz/privkey.pem'),
cert: fs.readFileSync('/etc/letsencrypt/live/twotravelers.xyz/fullchain.pem'),
};
var portSecure = '443';
var port = '80';
var httpsServer = https.createServer(/*options,*/ app).listen(portSecure, function(){
console.log("https at port" + portSecure);
});
var httpServer = http.createServer(app).listen(port, function(){
console.log('http at port'+port)
})
有什么想法吗?
找到问题了。对于我使用的阅读路径:
fs.readFileSync('<relativePath>/file')
当 运行 服务器上的应用程序时,我设置了一个服务,这将工作目录更改为根目录 /
。
我们可以添加绝对路径:
fs.readFileSync('<absolutePath>/file')
或者在服务文件中添加一个workingDirectory
(我就是这样做的)。
那弄乱了证书和其他目录的路径。
可能最好的选择是 npm install dotenv
并使用环境变量控制行为。