为什么 HTTPS 获胜?有谁知道 Netscape 和 Microsoft 都选择HTTPS而不是S-HTTP (RFC 2660)的任何具体原因?
在我看来,S-HTTP 更灵活,不需要单独的 IP 或端口来提供正确的证书,因为 S-HTTP 能够利用主机标头。知识产权空间在当时是一个问题吗?
我可以看到 HTTPS 比 S-HTTP 加密了更多连接数据的论点,但是如果您能轻松地分辨出用户访问了哪个网站,我就没有什么意义,因为每个 IP 只有一个站点(大多数时间)并且证书通常会说明什么域。
我的回答:由 Netscape 在 1993/1994 年创建的 SSL 和 HTTPS 在 1994 年的同一时间自然而然地添加到其中。HTTPS 的最初目标是在不做任何更改的情况下将现有协议改造为安全性。S-HTTP 直到 1999 年才出现并需要 HTTP 1.1,因此到那时 HTTPS 已经根深蒂固,实施 S-HTTP 几乎没有什么好处。谢谢大家。
服务器 2008 R2 SP1
VisualSVN 服务器 2.1.6
IIS 服务器有大约 10 个站点。其中之一在端口 443 上使用 https 并具有以下绑定:
http x.x.x.39:80 site.com
http x.x.x.39:80 www.site.com
https x.x.x.39:443
Run Code Online (Sandbox Code Playgroud)
VisualSVN 服务器属性
server name: svn.SomeSite.com
server port: 443
Server Binding: x.x.x.40
Run Code Online (Sandbox Code Playgroud)
IIS 上没有站点正在侦听 xxx40。
启动 VisualSVN 服务器时,抛出以下错误:
- make_sock: 无法绑定到地址 xxx40:443 (OS 10013) 尝试以访问权限禁止的方式访问套接字。
- 没有可用的侦听套接字,正在关闭
当我在 IIS 上停止 Site.com 时,VisualSVN Server 可以正常启动。当我将 VisualSVN 服务器绑定到端口 8443 并启动 Site.com 时,VisualSVN 服务器启动没有问题。
我的目标是能够使用普通 url 访问 VisualSvn 服务器,即不使用地址中的端口号的 URL:
https://svn.site.com vs https://svn.site.com:8443
Run Code Online (Sandbox Code Playgroud)
需要配置什么才能让 VisualSVN Server 在 443 端口上运行,而 IIS 运行在同一台服务器上?
有没有人对有多少互联网用户使用支持 SNI(服务器名称指示)SSL/TLS 证书的浏览器/操作系统组合进行过任何分析(或知道我在哪里可以找到一些!)?
例如,我知道 XP 上的 IE 不支持这一点,而旧版本的 OSX 也不支持。
我知道没有“典型”用户这样的东西,每个站点都有不同的配置文件,但我正在寻找某种数量级的视图来了解这些配置如今的普遍程度,以帮助决策过程我正在寻找部署的新站点。
如果您确实提供了具体的数字或分析参考,您是否也可以将日期添加到您的答案中?只是为了让将来看这个问题的其他人知道该信息何时是最新的,因为我预计它会随着时间的推移而改变......
我正在 Tomcat 服务器中安装 SSL 证书,但无法在我的密钥库文件中找到密钥条目。
如果我不指定keyAlias="mykey"它会显示以下错误消息:
javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
Run Code Online (Sandbox Code Playgroud)
正如我在 Tomcat 文档http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html#Troubleshooting上看到的那样,它告诉我指定keyAlias.
但是,当我这样做时,我收到以下错误消息:
java.io.IOException: Alias name mykey does not identify a key entry
Run Code Online (Sandbox Code Playgroud)
如果 I keytool -list -keystore .keystore -v,我会得到三个关键条目,两个来自证书公司,最后一个:
Alias name: mykey
Creation date: Dec 17, 2011
Entry type: trustedCertEntry
Run Code Online (Sandbox Code Playgroud)
也就是key的入口在那里,但是Tomcat找不到。该keystoreFile修正设置为密钥存储文件。
它可以是什么?
我在这里遇到了一个非常奇怪的问题,每次我尝试在非 SSL 模式下浏览我的 Rails 应用程序时,Chrome (v16) 和 Firefox (v7) 一直强制我的网站在 HTTPS 中提供服务。
我的 Rails 应用程序使用 Capistrano、nginx、Passenger 和通配符 SSL 证书部署在 Ubuntu VPS 上。
我在 nginx.conf 中为端口 80 设置了这些参数:
passenger_set_cgi_param HTTP_X_FORWARDED_PROTO http;
passenger_set_cgi_param HTTPS off;
Run Code Online (Sandbox Code Playgroud)
我的 nginx.conf 的长版本可以在这里找到:https : //gist.github.com/2eab42666c609b015bff
ssl-redirect.include 文件包含:
rewrite ^/sign_up https://$host$request_uri? permanent ;
rewrite ^/login https://$host$request_uri? permanent ;
rewrite ^/settings/password https://$host$request_uri? permanent ;
Run Code Online (Sandbox Code Playgroud)
这是为了确保这三个页面在来自非 SSL 请求时使用 HTTPS。
我的 production.rb 文件包含这一行:
# Enable HTTP and HTTPS in parallel
config.middleware.insert_before Rack::Lock, Rack::SSL, :exclude => proc { |env| env['HTTPS'] != …Run Code Online (Sandbox Code Playgroud) 我们最近更新了 Nginx 网络服务器的 Thawte SSL 证书。以前我们一直使用 SHA1 作为签名算法,但这次使用了 SHA256,这导致了一个新的根证书,称为“thawte Primary Root CA - G3”(这可以在他们的网站上找到 - 没有足够的代表发布链接)。
自从推出以来,我们开始接到使用 OS X 的客户的电话,询问在浏览 https 页面时收到错误“此证书由未知机构签名”。
Thawte 的证书检查器对我们安装的证书链非常满意:https : //ssltools.thawte.com/checker/views/certCheck.jsp (我们有我们的证书,以及 pem 文件中的“thawte Extended Validation SHA256 SSL CA”中间件)
经过测试,我们发现在OS X os所有版本的Safari、Opera和Chrome下都会出现错误。Firefox 在 OS X 下还可以(我相信它带有自己的证书信任库)。所有浏览器在 Windows 下似乎都可以。
当我们检查 OS X Access Keychain 时,我们发现 thawte Primary Root CA - G3 WAS 已安装,但不知何故浏览器无法完成链。
这是一个使用相同中间体和根的测试站点(不是我们的),它在 OS X 下表现出完全相同的症状:
任何人都可以解释为什么 OS X 默认安装在 OS X 10.9 的访问钥匙串中时,为什么不能将此站点的根 CA 识别为受信任的?
我们在 Windows Server 2012 上有这个 Apache:
Server version: Apache/2.4.9 (Win32)
Apache Lounge VC10 Server built: Mar 17 2014 10:48:43
大多数情况下,它运行良好,但有时(随机,每周 cca 3-4 次),它停止在端口 443 上提供 HTTPS,但继续在端口 80 上提供 HTTP。当它停止提供 HTTPS 时,解决问题的唯一方法是重新启动 Apache。
这似乎与这里的问题完全相同:Apache 停止响应 http 请求——https 继续工作,除了在我们的例子中是 HTTPS 停止工作,而 HTTP 是一直工作的那个。
我们启用了 trace6 级别的详细信息,以获取有关正在发生的事情的一些好的信息。但是,日志是空的:
...
[Sat Mar 21 07:51:50.577373 2015] [ssl:debug] [pid 3356:tid 2540] ssl_engine_io.c(999): [client ...:16529] AH02001: Connection closed to child 137 with standard shutdown (server ...:443)
[Sat Mar 21 07:54:21.936742 2015] [ssl:info] [pid 4760:tid 432] AH01914: …Run Code Online (Sandbox Code Playgroud) 使用 ssllabs.com 的扫描告诉我 RC4 正在使用中。我读到 RC4 应该在 Windows 2012 R2 中默认禁用。我正在使用 https.createServer 运行 node.js 服务器而不指定密码(让它默认)
ssllabs.com 说:
This server accepts the RC4 cipher, which is weak
TLS_RSA_WITH_RC4_128_SHA (0x5) WEAK
TLS_ECDHE_RSA_WITH_RC4_128_SHA (0xc011) WEAK
Run Code Online (Sandbox Code Playgroud)
我已按照以下说明在注册表中禁用了 RC4:http : //windowsitpro.com/windows/disabling-rc4-cipher
我还尝试在节点 createHttpsServer 中指定密码,如下所示:
ciphers:
[ "ECDHE-RSA-AES128-GCM-SHA256",
"ECDHE-ECDSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES256-GCM-SHA384",
"ECDHE-ECDSA-AES256-GCM-SHA384",
"DHE-RSA-AES128-GCM-SHA256",
"ECDHE-RSA-AES128-SHA256",
"DHE-RSA-AES128-SHA256",
"ECDHE-RSA-AES256-SHA384",
"DHE-RSA-AES256-SHA384",
"ECDHE-RSA-AES256-SHA256",
"DHE-RSA-AES256-SHA256",
"HIGH",
"!aNULL",
"!eNULL",
"!EXPORT",
"!DES",
"!RC4",
"!MD5",
"!PSK",
"!SRP",
"!CAMELLIA"
].join(':'),
honorCipherOrder: true
Run Code Online (Sandbox Code Playgroud)
仍然收到相同的消息,说 RC4 正在使用中,我的成绩从 B 降到 C,因此设置 node.js 密码列表确实有影响。
在单击最佳实践选项后使用 IIS Crypto 禁用 RC4 密码导致我的 …
我正在使用以下配置为两个 Tomcat 服务器执行负载平衡。我将 HAProxy 配置为执行 SSL/TLS 桥接/重新加密。
#------------------------------------------------- --------------------
# 可能的 Web 应用程序的示例配置。见
# 在线完整配置选项。
#
# http://haproxy.1wt.eu/download/1.4/doc/configuration.txt
#
#------------------------------------------------- --------------------
#------------------------------------------------- --------------------
# 全局设置
#------------------------------------------------- --------------------
全球的
# 要让这些消息最终出现在 /var/log/haproxy.log 中,您将
# 需要:
#
# 1) 配置syslog 以接受网络日志事件。这个做完了
# 通过在 SYSLOGD_OPTIONS 中添加“-r”选项
# /etc/sysconfig/syslog
#
#2) 配置local2事件到/var/log/haproxy.log
# 文件。可以添加如下一行
# /etc/sysconfig/syslog
#
# local2.* /var/log/haproxy.log
#
日志 127.0.0.1 local2 调试
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
最大康 4000
用户haproxy
组haproxy
守护进程
# 打开 stats unix 套接字
统计套接字/var/lib/haproxy/stats
ssl-server-verify 无
#------------------------------------------------- -------------------- … 我住在土耳其,是一个计划建立基于 WiFi 的 ISP 来为我的家乡服务的小组的成员,因为我们相信以无线方式连接所有离我们市中心不近的子村庄会更容易。在我们研究该项目所需设备的过程中,我们已经阅读了缓存代理服务器,该服务器存储来自经常访问的网站的数据,以便可以从缓存代理服务器下载内容,而不是通过我们的回程传输到互联网并消费那个带宽。
我们预计我们的用户将大量贩卖流行的社交网站,如 Facebook 和 Twitter,以及数据和视频内容农场、网上银行网站和许多其他使用https. 从我读过的关于这个主题的所有信息来看,我们将无法缓存这些内容,所以我觉得也许我们应该放弃使用缓存代理服务器的搜索。
在我们的例子中,考虑到我们预计大部分流量都会结束,考虑使用缓存代理服务器是否有意义https?使用这项技术,我们能否在回程中节省大量带宽?