我已经通过此反向代理链接了我的服务器上的服务
var httpProxy = require('http-proxy');
var fs = require('fs');
httpProxy.createServer({
target: {
host: 'redacted',
port: redacted
},
ssl: {
key: fs.readFileSync(
'/etc/letsencrypt/live/redacted/privkey.pem', 'utf8'),
cert: fs.readFileSync(
'/etc/letsencrypt/live/redacted/cert.pem', 'utf8')
}
}).listen(443);
这是必要的,因为它需要 https 才能在所有设备上运行。证书创建如下:
sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d redacted
一段时间以来,它一直运行良好。但现在只有在移动浏览器上,它才会发出连接不安全的警告,而在 PC 和 Mac 上它仍然可以正常工作。我该怎么做才能避免这种情况?我对 SSL 不是很有经验,所以如果我犯了一个明显的错误,请不要太严厉。
浏览器(在 Android 和 Windows 上):Firefox
答案1
我自己通过将其发送到 ChatGPT 找到了答案。您还必须在反向代理中包含 chain.pem。ca: fs.readFileSync('/etc/letsencrypt/live/redacted/chain.pem', 'utf8')