Articles of ssl

为了使用Nginx的SSLconfiguration,我们需要做什么样的兼容性权衡?

我在github.com/ioerror/duraconf中发现了一些强化的SSL设置。 这是来自config的头文件: 这是一个高度安全的,兼容SSLv3和TLSv1的HTTPS代理服务器的例子。 服务器只允许提供完美的前向保密的模式; 没有其他模式提供。 匿名密码模式被禁用。 此configuration不包括HSTS标头,以确保用户第一次访问后不会意外连接到不安全的HTTP服务。 它只支持PFS模式下的强密码: ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; # Only strong ciphers in PFS mode ssl_ciphers ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA; ssl_protocols SSLv3 TLSv1; 如果我们在我们的网站上使用这些设置,那么“有点兼容”是什么意思? 比如说IE6还能连接吗?

尝试设置透明,负载平衡,SSL反向代理。 可能吗?

我已经为这个项目做了几个星期的研究,不幸的是我是一个简单的代码猴,我对networking和SSL的知识是有限的。 几乎到目前为止,我所做的每一个search都把我带到了serverfault,我相信我已经得出这样的结论:这可能是不可能的。 我基本上需要开发一个解决scheme,将传入的HTTPS,并无缝地传递到克隆的Web服务器集群。 他们都服务相同的确切内容。 客户端SSL不应该在负载平衡器处终止。 (https – >负载平衡 – >集群) 所以在技术上我的问题是误导,逆向代理并不是真的必要,但是迄今为止我所有的解决scheme往往都是某种代理。 我基本上需要一个透明的SSL负载平衡解决scheme。 这是我到目前为止所尝试的。 Apache 2.4.x mod_proxy:工作于https – > proxy – > http – >集群。 完整的SSL解决scheme失败。 磅:工作https – >代理 – >非常好,但端点服务器接收磅服务器的证书/信息。 我需要客户端证书,因为端点服务器需要能够撤销。 (由于安全考虑,吊销不能由代理/ MITM处理)。 我研究的其他选项是:鱿鱼,查尔斯,HAproxy,Nginx,查尔斯,笔和其他一些我不记得,我的大脑基本上是在这个时候糊涂。 笔可能是最好的解决scheme,因为它是TCPstream量,不应该需要解码SSL报头来处理stream量,但我很难findconfiguration它的信息。 硬件解决scheme并没有脱离桌面。 所以我想问题是1.这是可能的吗? 2.如何做到最好(廉价/开源更可取)? 谢谢!

如何阻止我的https网站,当它被一个特定的国家阻止?

我有一个网站,更像一个web服务,为某些应用程序服务,我的服务已被封锁在一个特定的国家,只有https版本被阻止。 我需要继续使用SSL证书来保护我的用户的隐私,有没有什么办法来解锁我的网站? 我尝试了一些似乎不起作用的东西, 我已经使用了一个新的域名和一个新的证书 我使用了cloudflare 改变了我的服务器的IP 但这些都没有工作,还有什么可以做到让我的网站畅通无阻? 谢谢

仅在子域上使用SSL

这应该是一个超级简单的设置! 我正在尝试仅在一个子域上启用SSL。 但是,当我这样做时,我的所有子域和我的主域名最终都指向该子域的文档根目录。 要清楚,当我指向我的浏览器时,我得到了以下文档根目录: http://domain.com -> /var/www [GOOD] http://sub1.domain.com -> /media/large/sub1 [GOOD] http://sub2.domain.com -> /var/www [Strange, but doesn't bother me. And error message would be better if possible, or a redirect to https.] https://domain.com -> /media/large/sub2 [BAD] https://sub1.domain.com -> /media/large/sub2 [BAD] https://sub2.domain.com -> /media/large/sub2 [GOOD] 那2个[BAD]行业是真正困扰我的。 我不希望导航到这些URL的人访问sub2文档根目录。 这是我的ports.conf : NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> […]

Apache服务错误的文档根目录

我在我的网站的子域上安装了SSL。 除了这个奇怪的行为,一切都完美无缺。 如果我将浏览器指向以下位置,则会提供以下文档根目录: http://domain.com -> /var/www [GOOD] https://sub.domain.com -> /media/sub [GOOD] https://domain.com -> /media/sub [BAD] 该列表上的最后一个URL应该用于/var/www ,而不是/media/sub 。 换句话说,我想安全地将用户从https://domain.comredirect到http://domain.com 。 这是我的VirtualHosts。 domain.com <VirtualHost *:80> ServerName domain.com DocumentRoot /var/www </VirtualHost> sub.domain.com <VirtualHost *:443> ServerName sub.domain.com:443 DocumentRoot /media/sub SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key </VirtualHost> 我所试过的 有人向我暗示, https://domain.com ://domain.com服务于错误的VirtualHost,因为没有*:443 VirtualHost和domain.com的ServerName 。 为了解决这个问题,我尝试了这样做: domain.com <VirtualHost *:80> ServerName domain.com […]

Dovecot握手失败,Postfix成功

我试图设置一个Dovecot / Postfix结构,依靠MySQL后端。 我遇到了SSLconfiguration的问题,它真的把我的头发撕掉了… 情况 Dovecot监听端口993(IMAP)和995(POP3)。 我使用以下命令来testing连接: openssl s_client -connect myserver.tld:993 openssl s_client -connect myserver.tld:995 发生以下错误: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure 我已经做了相同的testing强制ssl2 , ssl3和tls1 ,同样的事情。 现在,当我在端口465(Postfix的SMTP)上运行相同的testing时: openssl s_client -connect myserver.tld:465 我得到一个神奇的220 myserver.tld ESMTP Postfix (Debian/GNU). 精彩。 基于MySQL的authentication甚至可以工作! 问题是,当Postfix可以时,Dovecot不能正确地启动SSL连接。 两个服务共享相同的configuration,Postfix甚至使用Dovecotauthentication。 组态 鸽子configuration: ssl = required ssl_cert = </etc/ssl/myserver/myserver.tld.crt ssl_key = </etc/ssl/myserver/myserver.tld.key ssl_verify_client_cert = no ssl_protocols = […]

如何redirect从https到http

我有一个网站,不需要https。 我们根本不收集任何信息,也没有任何forms。 这是因为我们没有设置SSL证书。 但是,当我去https://example.com它到我的服务器上有另一个网站,有一个SSL证书。 我们正在运行一个LAMP堆栈,CentOS6 / Apache 2.2。 有没有办法将所有https请求redirect到我的网站回http?

有什么办法可以在许多浏览器中自动下载或安装自签名根CA证书

有什么办法可以在许多浏览器中自动下载或安装自签名根CA证书。

在nginx中检查客户端证书?

我可以发出证书没有问题,我可以让nginx强制用户提供证书,但我怎么让nginx给我关于证书的信息? 诸如名字和序列号之类的信息。

使用Nginx和Ruby On Rails(瘦服务器)阻止/redirect端口3000

我正在设置一个服务器,使用瘦服务器上的Ruby on Rails。 我build立了Nginx将所有的http://mysite.comredirect到https://mysite.com (使用ssl)。 我希望网页上的所有networkingstream量都是SSL,没有例外。 这很好,但令我困扰的是,如果有人写http://mysite.com:3000 ,这正好是我运行我的服务器的端口,仍然可以访问我的瘦服务器没有SSL。 (我实际上在端口3000,3001上有几台服务器…)。 有没有办法阻止这个,或重写到https://mysite.com就像我做的端口80? 我试图重复我在端口80上做什么,但我得到错误,说它已经在使用。 这是我的nginxconfiguration。 upstream mysite.com { server 127.0.0.1:3000; server 127.0.0.1:3001; server 127.0.0.1:3002; } ##THIS WORKS: server { listen 80 default; server_name mysite.com *.mysite.com; ## redirect http to https ## return 301 https://mysite.com$request_uri; } ##THIS FAILS with "Address already in use" server { listen 3000; server_name mysite.com […]