Wal*_*anG 4 ssl reverse-proxy nginx google-compute-engine google-cloud-platform
我的服务器托管在Bluehost(Apache)中,证书工作正常.现在,我正在使用Google Cloud在NodeJS上的多个页面上使用proxy_pass.我正在尝试配置SSL,但我遇到了问题.我正在寻找类似的问题,但它仍然显示相同的错误.我在此链接后创建了密钥文件
/var/log/nginx/error.log:
2015/07/08 10:47:20 [emerg] 2950#0:SL_CTX_use_PrivateKey_file("/ etc/nginx/ssl/domain_com/domain_com.key")失败(SSL:错误:0B080074:x509证书例程:X509_check_private_key:键值不匹配)
当我戴上控制台时:
openssl rsa -noout -modulus -in domain_com.key告诉我这个:
Modulus=D484DD1......512 characters in total......5A8F3DEF999005F
Run Code Online (Sandbox Code Playgroud)
openssl x509 -noout -modulus -in ssl-bundle.crt:
Modulus=B1E3B0A.......512 characters in total......AFC79424BE139
Run Code Online (Sandbox Code Playgroud)
这是我的Nginx设置:
server {
listen 443;
server_name www.domain.com;
ssl_certificate /etc/nginx/ssl/domain_com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/domain_com/domain_com.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/domain_com.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8086;
proxy_read_timeout 90;
proxy_redirect http://localhost:8086 https://www.domain.com;
}
}
Run Code Online (Sandbox Code Playgroud)

如果连接顺序错误,可能会出现此问题.你试过:
cat www_example_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
Run Code Online (Sandbox Code Playgroud)
这看起来是正确的,但连接通常需要从根CA中删除额外的下载,因此Nginx创建者说:
浏览器通常存储他们收到的中间证书,并由受信任的权威机构签名,因此主动使用的浏览器可能已经拥有所需的中间证书,并且可能不会抱怨没有链接束发送的证书.
官方文件明确指出:
如果服务器证书和软件包的连接顺序错误,则nginx将无法启动并显示错误消息:
Run Code Online (Sandbox Code Playgroud)SSL_CTX_use_PrivateKey_file(" ... /www.example.com.key") failed (SSL: error:0B080074:x509 certificate routines: X509_check_private_key:key values mismatch)因为nginx尝试将私钥与bundle的第一个证书而不是服务器证书一起使用.
所以要解决这个问题请尝试:
将www_example_com.crt附加到ssl_certificate Nginx配置密钥
从官方网页下载最新的Comodo CA证书SHA2,并再次尝试连接捆绑包
| 归档时间: |
|
| 查看次数: |
6923 次 |
| 最近记录: |