当我尝试通过基于 Chrome 的浏览器登录我的网站 (pvapp.umwelt-campus.de/user/loghin) 时出现错误:
邮政https://143.93.46.35:60702/用户/登录net::ERR_CERT_COMMON_NAME_INVALID
这是我的后端的IP和端口。
不过,在 Firefox 上它运行良好。我通过 certbot 安装了证书。我相应的 nginx 设置如下:
server {
listen 80;
server_name pvapp.umwelt-campus.de;
return 302 https://$server_name$request_uri;
}
server{
# SSL configuration
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Headers' 'Authorization,Accept,Origin,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,PATCH';
ssl_certificate /etc/letsencrypt/live/pvapp.umwelt-campus.de/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/pvapp.umwelt-campus.de/privkey.pem;
...
我还在后端添加了 https(运行于https://143.93.46.35:60702) 喜欢:
https.createServer({
key: fs.readFileSync('/etc/letsencrypt/live/pvapp.umwelt-campus.de/privkey.pem', 'utf8'),
cert: fs.readFileSync('/etc/letsencrypt/live/pvapp.umwelt-campus.de/cert.pem', 'utf8')
}, app)
.listen(nconf.get('port'), function() {
console.log(`App listening on port ${nconf.get('port')}! Go to https://143.93.46.35:${nconf.get('port')}/`)
});
已经尝试清除缓存,清除 windows ssl-cache 重新启动一切并更新证书。希望有人有想法。:)
我可能需要为后端提供额外的证书吗?
使用 Ubuntu 16.04.7 xenial(我知道它已经过时了)
答案1
根据您在现在删除了之前的问题在此你有一个不同的主机来处理登录:
登录不起作用,并给出证书错误。首页工作正常。
您需要一个包含两个主机名作为 SAN(主体备用名称)的证书,或者一个用于第二台主机的不同有效证书。
答案2
我认为这里的问题是您的后端生成直接指向后端的登录 URL,而不是指向前端域。
因此您需要修复后端设置。