如何解决 nginx SSL 错误? [复制]
Posted
技术标签:
【中文标题】如何解决 nginx SSL 错误? [复制]【英文标题】:How to solve nginx SSL error? [duplicate] 【发布时间】:2018-03-06 08:33:26 【问题描述】:休闲步骤已完成,但您可以看到出现休闲错误:
openssl genrsa -out privkey.pem 2048
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:City: Roubaix
Locality Name (eg, city) []:NICE
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Our team name
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []: mobileapp.ourdomain.com
Email Address []:My email
【问题讨论】:
您使用的是自签名证书,如果您需要具有有效证书且仅托管静态内容的基本 Web 服务器,则需要有效证书以避免 chrome 显示该错误,请检查此www跨度>CN=mobileapp.ourdomain.com
可能是错误的。主机名始终位于 SAN 中。如果它出现在 CN 中,那么它也必须出现在 SAN 中(在这种情况下您必须列出两次)。有关更多规则和原因,请参阅 How do you sign Certificate Signing Request with your Certification Authority 和 How to create a self-signed certificate with openssl? 您还需要将自签名证书放在适当的信任库中。
嗨@jww 自签名证书不再被允许。
@jww 我认为 FQDN 是正确的,因为其他人说 chrome 不支持或不信任自签名证书,这不是重复的问题。
@Parsaria - 主机名可能没问题。首先要解决的问题是名称的位置。 OpenSSL 仅将主机名放在 CN 中;它不会将主机名放在 SAN 中。据我所知,除 android 浏览器之外的所有浏览器都支持自签名终端实体证书。但在信任问题解决之前,证书需要很好的形成。
【参考方案1】:
浏览器不信任自签名证书。您必须提供由证书颁发机构签署的真实证书。
一个很好的解决方案是LetsEncrypt。它是免费的、开放的,并且其证书受到几乎所有现代浏览器的信任。
【讨论】:
以上是关于如何解决 nginx SSL 错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
SSL 错误;涉及到nginx、tornado、websocket
如何解决 javax.net.ssl.SSLHandshakeException 错误?
如何解决 javax.net.ssl.SSLHandshakeException 错误?