我已将 Web 服务器设置为使用 SSL(在将其移至公共服务器之前,我将 WAMP 用于我的暂存方案)。手头站点的目的已经成功,我能够使用 HTTPS 协议从远程计算机使用该站点。
我的一个用户(测试人员)提出的一个问题是关于 POST 数据。在他的测试场景中,他在我们的一位潜在客户的现场,访问位于他们非常挑剔的公司防火墙后面的站点(我们已经确定了该站点如何应用于他们的 AUP,我们很干净)。他在 FireFox 中运行站点,使用 Firebug 来监视 POST 和 GET 数据。问题在这里:
在他的 Firebug 窗口中,来自 XMLHTTPRequest 的 POST 和 Response 以纯文本形式返回。是因为他是发起安全连接的人吗?POST/Response 数据会显示给网络管理员或日志吗?
请注意,此处的目的不是欺骗管理员或规避政策;这是一款适用于需要传输敏感数据的不同地点的现场人员的应用程序。使用将与我们遇到的每个网络基础设施协调。
我正在使用 nginx,并且想要实现 SSL 会话恢复。我们应该如何测试它是否有效?
我已启用这些设置:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
Run Code Online (Sandbox Code Playgroud) 我们在我们的环境中使用 Squid 代理服务器,我们想要缓存 HTTPS 请求。
有没有办法配置 Squid 或一般的代理服务器来缓存 HTTPS 请求?
我有一个装有 2 个网卡的 linux 机器,用于检查通过端口 80 的流量。一张网卡用于上网,另一张卡连接到网络交换机。关键是为了调试目的,能够检查连接到该交换机的设备上的所有 HTTP 和 HTTPS 流量。
我已经为 iptables 编写了以下规则:
nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:1337
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 1337
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
在 192.168.2.1:1337,我有一个使用 Charles ( http://www.charlesproxy.com/ ) 进行录制的透明 http 代理。
对于端口 80 一切正常,但是当我为指向端口 1337 的端口 443 (SSL) 添加类似的规则时,我通过 Charles 收到有关无效消息的错误。
我之前与 Charles ( http://www.charlesproxy.com/documentation/proxying/ssl-proxying/ )在同一台计算机上使用过 SSL 代理,但由于某种原因透明地执行它没有成功。我在谷歌上搜索的一些资源说这是不可能的 - 如果有人可以解释原因,我愿意接受它作为答案。
请注意,我可以完全访问所描述的设置,包括连接到子网的所有客户端 …
我有两个主机名共享相同的域名,我想通过 HTTPs 提供服务。我有一个通配符 SSL 证书并创建了两个 vhost 配置:
主机 A
listen 127.0.0.1:443 ssl;
server_name a.example.com;
root /data/httpd/a.example.com;
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
Run Code Online (Sandbox Code Playgroud)
主机B
listen 127.0.0.1:443 ssl;
server_name b.example.com;
root /data/httpd/b.example.com;
ssl_certificate /etc/ssl/wildcard.cer;
ssl_certificate_key /etc/ssl/wildcard.key;
Run Code Online (Sandbox Code Playgroud)
但是,我为任一主机名提供了相同的虚拟主机。
在我研究如何让我的整个网站 https 时,有很多讨论。大多数答案是将http重定向到https(.htaccess文件),这不好,因为两次(两次请求)做同样的工作不好。此外,“中间人”首先使用 http,我希望我的网站直接使用 https。有没有另一种方法可以让你的整个网站 https ,以及如何做到这一点?例如,当用户输入 example.com 时,example.com 会自动转到 https,而无需先从 http 或其他任何重定向?
Google宣布了 SSLv3 协议中的一个漏洞
... 允许网络攻击者计算安全连接的明文。
此漏洞的名称为CVE-2014-3566,营销名称为 POODLE。
如果我在 ` https://www.example.com/ 上有一个网站,我如何判断此漏洞是否影响我?
我们的网站需要遵守 HIPAA,因此所有内容都需要加密。我不希望当他们把在客户端得到一个错误信息“ HTTP://mysite.com”,所以我需要同时支持HTTP和HTTPS,并且HTTP重定向到HTTPS。我对吗?
我在网络服务器上正确地做到了。因此,如果我直接连接到 Web 服务器,HTTP 会自动重定向到 HTTPS。都好。
但是 Web 服务器位于 AWS Application Load Balancer 后面。我不知道如何在 ELB 上将 HTTP 重定向到 HTTPS。所以客户端浏览器仍然可以通过 HTTP 连接到 ELB。
如何在 AWS 应用程序负载均衡器上设置 HTTP => HTTPS?
换句话说,我确定ELB和Web服务器之间的连接是HTTPS,但是如何确保客户端浏览器和ELB之间的连接是HTTPS?
我偶尔会收到以下 421 错误:
错误的请求
客户端需要为此请求建立新连接,因为请求的主机名与用于此连接的服务器名称指示 (SNI) 不匹配。
但是,刷新浏览器会清除错误并且页面正常加载。下一次加载页面不会产生和错误,因此模式看起来很随机。我能看到的唯一模式是当我使用 header("Location: " . $url); 重定向页面时可能会发生这种情况。
我有 Comodo 的 PositiveSSL 多域证书。我的服务器是共享网络托管服务上的 Apache,所以我无权访问配置。
我从一个域加载页面,页面内是指向证书上第二个域的链接。
我读到的有关此错误的所有内容似乎都指向此问题与这是一个多域证书有关。
我想知道的是,网页 (php) 编码方面是否有任何可能导致此问题(并且可以修复)的内容,或者是否是配置错误或服务器错误,并且只有我的托管服务可以修理它。
到目前为止,我的托管服务无法提供任何内容,并要求在接下来发生的确切时间回电,以便他们进行研究。任何帮助将不胜感激,因为我并不过分相信他们可以解决这个问题。
更新 好吧,差不多几年后,决定是时候处理它了。通过删除提供图像和 javascript 的静态域,我能够解决大部分问题。但是,我仍在为某些内容使用第二个域,尤其是 Safari 仍然给我带来问题。
我做了更多的研究,并在这里找到了另一篇讨论它的文章。正是@Kevin 所描述的。文章证实它发生在 Safari 中。因此,根据建议,我着手为每个域获取单独的证书。我在共享主机 (Webhostinghub) 上,发现他们现在提供自动续订的免费 SSL (AutoSSL)。这听起来不错。他们为我设置了 5 个免费证书。到现在为止还挺好。我什至可能会尝试重新启用静态域进行测试。如果一切顺利,我将节省 $ 以启动作为奖励,并让我的 Comodo 证书在 7 月到期。
我在我的网络上使用鱿鱼来缓存内容。我使用命令行开关启动 chrome,告诉它使用代理。
在大多数情况下,这很有效,因为 squid 缓存了大量内容,并且在用户数量有限的情况下它表现良好。
当我使用 chrome 访问 HTTPS 网站时,第一页加载速度非常慢。chrome 上的状态栏显示“正在等待代理隧道...”。Chrome 使用 CONNECT 动词通过代理建立隧道并与服务器建立 HTTPS。后续页面速度很快,因为 Chrome 保持连接打开。
我检查了我的 squid3 日志。以下是一些 CONNECT 条目。第二列是以毫秒为单位的响应时间
1416064285.231 2926 192.168.12.10 TCP_MISS/200 0 CONNECT www.google.com:443 - DIRECT/74.125.136.105 -
1416064327.076 49702 192.168.12.10 TCP_MISS/200 1373585 CONNECT r2---sn-q4f7sn7l.googlevideo.com:443 - DIRECT/173.194.141.152 -
1416064345.018 63250 192.168.12.10 TCP_MISS/200 545 CONNECT mtalk.google.com:5228 - DIRECT/74.125.136.188 -
1416064372.020 63038 192.168.12.10 TCP_MISS/200 1809 CONNECT www.facebook.com:443 - DIRECT/31.13.91.2 -
1416064393.040 64218 192.168.12.10 TCP_MISS/200 25346 CONNECT clients4.google.com:443 - DIRECT/173.194.32.196 -
1416064408.040 63021 192.168.12.10 TCP_MISS/200 545 CONNECT mtalk.google.com:5228 - …Run Code Online (Sandbox Code Playgroud) https ×10
ssl ×5
http ×2
nginx ×2
squid ×2
amazon-elb ×1
apache-2.4 ×1
encryption ×1
iptables ×1
proxy ×1
redirect ×1
security ×1
virtualhost ×1