我正在尝试让 HTTPS 与 AWS ELB 一起使用。
我已经尝试了大约一个小时,但无论我尝试什么,我都只是在通过 HTTPS 连接时连接超时。HTTP 工作正常,但不是 HTTPS。
任何人都可以提供一些帮助吗?
我正在评估一些 SSL 故障,并注意到当我使用curl其中一个故障站点时,我得到了curl: (56) SSL read: errno -5961; 但是,我对该错误的 google 查询没有显示 openssl 失败的原因。
问题: curl 失败是什么意思curl: (56) SSL read: errno -5961?
我包括以下完整curl...
[mpenning@mpenning-lnx ~]$ curl -vk https://192.0.2.168/
* About to connect() to 192.0.2.168 port 443 (#0)
* Trying 192.0.2.168... connected
* Connected to 192.0.2.168 (192.0.2.168) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* warning: ignoring value of ssl.verifyhost
* skipping SSL peer certificate verification
* SSL connection using TLS_RSA_WITH_AES_256_CBC_SHA …Run Code Online (Sandbox Code Playgroud) 我知道已经有人问过了,但是尽管进行了很多小时的研究,我还是找不到可行的解决方案。我正在尝试在我的服务器中安装我的根证书,因此内部服务可以使用 SSL 相互绑定。
关于新的根 CA 应该知道什么:
对于 Apache,我需要一个 PHP 应用程序来了解根证书,因此如果一个站点连接到另一个 SSL 网站(由同一 CA 签名),它可以正常工作并且不会抱怨自签名证书。
对于 OpenLDAP,我相信它与 PHP 相同,它使用的模块很旧,它是 Net_LDAP2,与 PEAR 一起安装。我尝试编辑本地 openldap 配置,但看起来系统没有使用它。
最后一个 Node.js,我用于 parsoid。node.js 服务器必须信任 CA 才能建立良好的 SSL 连接。
我尝试将证书添加到 /etc/pki/tls/certs/ca-bundle.crt 中,但收效甚微。
虽然 httpd 看不到根 CA,但我设法让其他服务使用它,例如 tomcat 和 389。
感谢您的支持。
ssl certificate centos ssl-certificate certificate-authority
当我运行curl命令行
curl "https://example.com"
Run Code Online (Sandbox Code Playgroud)
它立即成功,返回请求的结果。
当我运行相同的 wget 命令时
wget https://example.com
Run Code Online (Sandbox Code Playgroud)
它最终因“无法建立 SSL 连接”而超时。没有任何具体的错误信息。它可以连接,但无法进行 SSL 握手。我试过了,--no-check-certificate但这没有什么区别 - 它似乎与超时有关。
然而:
wget http://example.com
Run Code Online (Sandbox Code Playgroud)
工作正常(HTTP 与 HTTPS)。
这也影响了PHP 的“ file()”方法调用。
我的问题是,什么会导致 curl 成功检索页面(对于我们域中的所有站点)而不是 wget 或 php 解释器?这是周末的新问题,服务器之前很好。
(操作系统为 Red Hat Enterprise Linux 6.4)
tl;博士固定
我已经使用自签名证书运行 Jenkins 实例一段时间了,除了必须在浏览器中创建证书验证异常的麻烦之外,它工作正常。所以今天我从StartSSL获得了一个免费的 1 级证书,更改了 中的路径/etc/sysconfig/jenkins,并重新启动了服务,但它根本不起作用:
$ openssl s_client -connect localhost:8080 -debug
CONNECTED(00000003)
write to 0xdce210 [0xdeeca0] (171 bytes => 171 (0xAB))
0000 - 16 03 01 00 a6 01 00 00-a2 03 03 52 e3 f5 18 90 ...........R....
0010 - e2 24 10 6a 6e ee 24 88-cd 52 e8 a8 0b 6f 71 85 .$.jn.$..R...oq.
0020 - 3f 5b a1 53 7b 2c 74 fe-a2 68 25 00 00 54 00 …Run Code Online (Sandbox Code Playgroud) 我想在 nginx 中使用 ssl。我创建了必要的证书:
[root@arch ssl]# pwd
/etc/nginx/ssl
[root@arch ssl]# ls -l
total 12
-rwx------ 1 root root 1346 Aug 3 14:36 server.crt
-rwx------ 1 root root 1115 Aug 3 14:36 server.csr
-rwx------ 1 root root 1743 Aug 3 14:35 server.key
Run Code Online (Sandbox Code Playgroud)
但是 nginx 无法加载这些文件。它说找不到它们:
systemctl -l status nginx
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled)
Active: failed (Result: exit-code) since Sun 2014-08-03 14:50:04 EDT; 21min ago
Process: 21391 ExecStart=/usr/bin/nginx -g pid …Run Code Online (Sandbox Code Playgroud) 在 nginx 配置文件中,您可以像这样配置 SSL 密码列表
ssl_ciphers HIGH:!aNULL:!eNULL:!LOW:!ADH:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
Run Code Online (Sandbox Code Playgroud)
这个密码串的语法是什么?也就是说,我知道(或认为我知道,如果我错了,请纠正我)该字符串旨在提供可能的 SSL 密码列表,并为它们提供优先级。什么文件在被解释这个字符串的格式不太大。
具体问题
是!否定的吗?也就是说,是否!DSS意味着不使用 DSS?或者是!DSS同一个密码?
是:字符分隔符?那是在密码列表“HIGH、!aNULL、!eNULL 等...”之上,还是:其他意思
是HIGH和LOW相同的密码,或者它们是某种特殊的元指令
上图没有,但我见过这样的字符串AES256-GCM-SHA384:ECDHE-RSA-RC4-SHA:。是-字符的密码名称的一部分,或者说他们有特殊的含义?
是否有资源可以解释该字符串的工作原理,还是希望使用该字符串的人也需要阅读 nginx 源代码以了解它是如何工作的?
我的两个站点都有 HAProxy,其中一个是公共站点,一个是私有站点。
www.mysite.com private.mysite.com
Atm,我正在使用这样的 haproxy:
frontend mysite_https
bind *.443 ssl crt /etc/mycert.pem ca-file /etc/myca.pem verify optional no-sslv3
mode http
acl domain_www hdr_beg(host) -i www.
acl domain_private hdr_beg(host) -i private.
acl path_ghost path_beg /ghost/
acl clientcert ssl_c_used
redirect location https://www.example.com if path_ghost !clientcert
redirect location https://www.example.com if !domain_www !clientcert
use_backend bknd_private if domain_private
use_backend bknd_www if domain_www
default_backend bknd_www
Run Code Online (Sandbox Code Playgroud)
这应该做的是要求客户端证书(可选)并继续。如果域不是 www.example.com 且访问者无法提供正确的证书或路径为 /ghost/ 且访问者无法提供正确的证书,则应重定向到https://www.example.com
So far, this works fine. However, I got complaints by Mac users browsing my site …
对于网站 scirra.com(单击 SSL Labs 服务器测试结果),Google Chrome 报告以下图标:

它是一种 EV SSL,它似乎在 Firefox 和 Internet Explorer 中运行良好,但在 Chrome 中运行不正常。这是什么原因?
我在 Ubuntu 14.04 上运行 apache 并尝试实现 SSL。任何帮助将不胜感激。
default-ssl.conf 具有:
SSLCertificateFile /etc/apache2/ssl/domain.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.csr
Run Code Online (Sandbox Code Playgroud)
当我重新启动 apache 时,/var/log/apache2/error.log 中的错误消息是:
[Sun Feb 01 19:31:06.443226 2015] [ssl:error] [pid 30927] AH02203: Init: Private key not found
[Sun Feb 01 19:31:06.443408 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 19:31:06.443424 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 er$
[Sun Feb 01 19:31:06.443435 2015] [ssl:error] [pid 30927] SSL Library Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Sun Feb 01 …Run Code Online (Sandbox Code Playgroud) ssl ×10
curl ×2
nginx ×2
amazon-elb ×1
apache-2.2 ×1
centos ×1
certificate ×1
chrome ×1
haproxy ×1
jenkins ×1
sni ×1
tcp ×1
timeout ×1
ubuntu ×1
wget ×1