我有一个ubuntuvm,我正在尝试从positivessl(看起来他们使用comodo)为我的域设置ssl证书。
我最初生成mywebsite.csr和mywebsite.key,然后使用namesheap上的cname记录来验证我的ssl证书。验证后,他们通过电子邮件向我发送mywebsite\u com.crt和mywebsite\u com.ca-bundle。
我使用他们的指示:https://www.namecheap.com/support/knowledgebase/article.aspx/9617/69/how-to-convert-certificates-into-different-formats-using-openssl/ 将其转换为.p12格式。
我的application.properties看起来像:
# The format used for the keystore. It could be set to JKS in case it is a JKS file
server.ssl.key-store-type=PKCS12
# The path to the keystore containing the certificate
server.ssl.key-store=classpath:keystore/mycertificate.p12
# The password used to generate the certificate
server.ssl.key-store-password=redacted
# The alias mapped to the certificate
# server.ssl.key-alias=1
# server.ssl.key-password=redacted
server.ssl.enabled=true
我尝试了多种设置信任存储别名的解决方案,但目前这是我的配置。
我的nginx服务器配置如下所示:
upstream tomcat{
server localhost:8080;
}
server {
listen 443;
server_name mywebsite.com;
ssl on;
ssl_certificate /root/mywebsite_com.crt;
ssl_certificate_key /root/mywebsite.key;
access_log /var/log/nginx/localhost.access.log main;
location / {
proxy_pass https://tomcat;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
}
当我拜访https://mywebsite.com it 在浏览器中工作正常,但当我从 Postman 发出post请求时,它会不断出错,并显示“ssl错误:无法验证第一个证书”
我在我的网站上发布了一个第三方webhook,但它出现了以下错误:
"success": false,
"error_class": "RestClient::SSLCertificateNotVerified",
"error_message": "SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)",
为了解决这个问题,我整个周末都把头撞在墙上,我试着转换成.pem,a.p7b,制作keystore.jks,将bundle和cert合并到我的网站\u chain.crt中。我不知下一步该怎么办,请帮忙。
1条答案
按热度按时间nuypyhwy1#
终于解决了!结果发现,对nginx和spring boot使用cert导致了问题。通过在spring boot上禁用ssl并更改
收件人:
这个问题已经解决了。