Articles of ssl

什么apache的VirtualHostconfiguration将通过SSL服务的唯一一个域?

我有多个域( example1.com , example2.com , … )托pipe在同一个IP上。 其中一个域( example3.com )有一个SSL证书,我想通过HTTPS提供服务,同时保持所有其他网站在HTTP上。 到目前为止,我已经设置并正常工作。 我的问题是https://www.example1.com (请注意)的请求正在通过example3.com (开始<VirtualHost *:443> )的apacheconfiguration部分处理,这会导致问题,因为这是Django的网站,除了其他事情,它会产生一个400错误的请求,因为example1.com不在Django的ALLOWED_HOSTS设置。 我知道SSL的本质意味着Host:头部在build立安全连接之前是未知的。 但有没有办法让Apache拒绝HTTPS的任何请求是不是 example3.com ? 我期望在SSL虚拟主机中使用ServerName指令来限制该部分仅仅是指定的主机,但仔细检查文档后 ,似乎只有基于名称的虚拟主机才是这种情况。 编辑:我已经尝试添加一个全部默认作为第一部分,如下所示: <VirtualHost *:443> ServerName default.only <Location /> Require all denied </Location> </VirtualHost> 这会导致以下错误: [Thu Dec 04 10:31:27.922801 2014] [mpm_event:notice] [pid 10498:tid 3074255488] AH00491: caught SIGTERM, shutting down [Thu Dec 04 10:31:29.928483 2014] [ssl:emerg] […]

你将如何设置多个SSL终止Haproxy实例,这本身是负载均衡?

我一直在做这方面的大量的研究和实验,而且我正在碰壁: 我正在尝试将HAProxy设置为高可用性环境的反向代理。 所有进出这个环境的stream量都是SSLencryption的,所以原来的devise是让HAProxy做SSLterminal,并将stream量清空传递到飞地,然后以另一种方式回传。 到目前为止,这么好,有很多关于这方面的恒星文档。 问题是这样的:单个SSL终止HAProxy框需要处理大量的stream量,因此需要多个SSL终止反向代理。 好吧,我已经看到了很高的和低的,并发现许多文章,似乎是在正确的方向领先,但总是结束了1主要HAProxy和1备份,(例如,所有的心跳和keepalived解决scheme,如同这里和这里一样 ),或者完全忽略SSL终止,并且讨论DNS负载均衡器。 所以我想我真正想要的是多个haproxy ssl终止盒同时分担负载的能力。 有没有办法做到这一点的DNS圆知更鸟? 我想我以为会有一种方式可以共享同一个虚拟IP地址,并且在它们之间同时分配stream量,全部是集群式的。 如果一个盒子坏了,那么故障转移可以用上面的keepalived方法解决,或者其他的东西。 这似乎不是一个常见的用例…甚至有可能吗? (当然,如何在HAProxy进程之间共享SSL会话是一个问题,但是如果不可行的话,偶尔重新build立一个新会话在这种情况下并不是一个杀手。 提前致谢!

使用HAProxy实施TCP粘性会话以处理SSL传递stream量

当SSL必须在后端服务器上终止时,我们如何在HAProxy中实现会话粘性? 我们需要粘性,因为后端不能共享会话。 这是我的原始configuration: # SSL passthrough listen https_handler bind 1.2.3.4:443 mode tcp balance leastconn stick match src stick-table type ip size 200k expire 30m server s1 1.1.1.1:443 server s2 1.1.1.2:443 # haproxy logs (not sticking) 10.xx2:xxxxx [17/Dec/2014:19:29:41.396] fe BACKEND_Website/s1 37/0/1/3/41 200 8364 10.xx2:xxxxx [17/Dec/2014:19:29:41.456] fe BACKEND_Website/s1 36/0/1/1/39 200 9082 10.xx2:xxxxx [17/Dec/2014:19:29:41.456] fe BACKEND_Website/s2 35/0/1/3/39 200 […]

gnutls-cli在testingssl连接时挂起

我正在运行命令 gnutls-cli -s facebook.com -p 443 –x509cafile /etc/ssl/certs/ca-certificates.crt -d 999 和输出是 |<2>| p11: loaded provider 'p11-kit-trust' |<2>| p11: loaded provider 'gnome-keyring' |<2>| ASSERT: pkcs11.c:425 Processed 164 CA certificate(s). Resolving 'facebook.com'… Connecting to '173.252.120.6:443'… |<4>| REC[0x872bac8]: Allocating epoch #0 – Simple Client Mode: 然后是一个闪烁的光标,它只是挂在那里。 使用strace,我看到在执行好几行代码之后,达到了刚才打印的点 select(6,[0 5],NULL,NULL,{0,50000})= 0(超时) 一而再,再而三。 我试着将gnutls升级到3.1.23,但结果是一样的。 以根用户身份运行不会改变结果。 作为一个健康检查,我也跑了: openssl s_client -connect facebook.com:443 […]

Squid SSL拦截适用于大多数谷歌网站,但不适用于www.google.com

我已经能够访问几乎所有的Google的.co.uk服务,现在我已经configuration了squid来使用SSL。 我也可以在Google提供的证书中查看我的证书信息。 不过,如果我导航到www.google.com,则会收到由Chrome报告的ERR_CERT_INVALID。 为什么它为一些而不是其他人工作?

如果通过https请求未启用SSL的域,则Apache将在同一台服务器上为不同的启用SSL的域提供服务?

我在Apache服务器(例如http://www.example.com )上托pipe多个网站,其中只有一个网站具有SSL证书(例如https://www.example.net )。 是否可以设置Apache,以便尝试浏览到https://www.example.com不会导致Apache服务https://www.example.net ? 如果是这样,怎么样? 我问这是因为我的托pipe服务提供商说: …如果SSL连接尝试到服务器上的任何IP,并且没有可用于该域的SSL虚拟主机,则连接到列出的第一个可用的SSL虚拟主机。 …如果机器上有多个SSL虚拟主机,当它们不匹配时,会自动连接到httpd.conf文件中显示的第一个。

我可以将IIS 7.5正向保密configuration为不支持的浏览器(IE)redirect吗?

我已经成功地configuration了Windows Server 2008 R2和IIS 7.5,为我的Asp.Net 4应用程序提供服务。 它使用来自hass.de博客文章的信息设置为前向保密。 我仍然有访问低级浏览器,主要是Windows 7与Internet Explorer 8只支持SSL v3.0。 当这些人访问我的网站时,他们看到的只是Internet Explorer cannot display the webpage 。 服务器上没有指示访问者请求失败的指示符,例如没有IIS日志logging事件,没有eventvwr.msc事件id,或者其他任何显示访问者请求的事件/跟踪/debugging都不能被接受。 运行Network Monitor ,我可以看到,当用户与服务器通信时,只有4个数据包在通信: 客户端: SYN 服务器: SYN, ACK 客户: SSL 'Client Hello' 服务器: RST, ACK对“客户端你好” 通讯停止,客户端浏览器显示Internet Explorer cannot display the webpage 。 我已经在BrowserStack中声明了访问者的场景: 问题:有没有办法将IISconfiguration为redirect浏览器请求,该请求不能支持前向保密,因此用户无法获取Internet Explorer cannot display the webpage错误消息?

相同的证书以不同的价格出售?

我遇到过这么多次这种情况 例如,每个人都知道,如果我从转销商那里购买一年的Positive SSL,其价格大约是5.95美元。 如果我直接从CA购买证书,它的价格是一年49美元。 我真的好奇, 为什么? 汇率 通过降低成本(从$ 49到$ 5.95?真的?) 还有什么呢? 我无法直接从CA购买任何优势。

SSLRequire – 文件function

我在Apache 2.2和我能find的SSLRequire 文件function的小文档上遇到了麻烦。 我正在尝试使用SSLRequire检查请求中的客户端证书的电子邮件属性。 httpd.conf文件中的以下选项效果很好: SSLRequire %{SSL_CLIENT_S_DN_Email} in { "[email protected]" } 但正如我可以在文档中阅读,您可以使用filter的值列表。 从官方文档引用: file (文件名) – 这个函数接受一个string参数并扩展到文件的内容。 这对匹配正则expression式等内容特别有用。 所以,按照文档,我把以下内容放在httpd.conf文件中: SSLRequire %{SSL_CLIENT_S_DN_Email} in { file("/etc/httpd/mail-list") } 文件邮件列表只包含一行内容[email protected] (试图模拟没有file的选项)。 但是当我尝试访问我的HTTPS服务器时,我在日志中看到以下内容: Failed expression: %{SSL_CLIENT_S_DN_Email} in { file("/etc/httpd/mail-list") } 此消息通常在模式无法应用时出现。 有人可以帮我在这里,我怎样才能使用这个function?

为什么我在Apache 2.4上设置了HTTP_X_FORWARDED_PROTO和未设置HTTPS?

最近我更新了我的网站:CMS(Drupal),它是OS(Ubuntu 14.04)和Apache(2.4.7)。 情况是,当在https://example.com/上冲浪时,任何PHP都无法检测到HTTPS。 $_SERVER['HTTPS']是空的, $_SERVER['SERVER_PORT']返回80.而这会导致一个问题,因为Drupal无法检测到HTTPS并提供HTTP文件(混合内容)。 唯一显示连接在HTTPS上的variables是HTTP_X_FORWARDED_PROTO,而Drupal不处理这个服务内容的设置。 <<<我没有反向代理或LAMP和Drupal以外的任何高级configuration,只有一个站点。 >>> 错了,我正在用CloudFlare运行我的网站。 考虑到我不想要Drupal解决scheme,我已经pipe理好了。 我想知道为什么Apache没有发送正确的SERVERvariables的PHP或者什么可能是我的configuration错误。 谢谢你的帮助。 <<<最终编辑>>> PD:我通过一个反向代理CloudFlare运行我的网站。 一旦你安装,很容易忘记。 检查我的答案,看看你必须设置的选项,以获得预期的SERVERvariables。