我有一个 HAProxy / stunnel 服务器,可以为我们在 AWS 上的站点处理 SSL。在测试期间,我在这台服务器上创建了一个自签名证书,并使用 Chrome 从我的桌面点击它来测试 stunnel 是否正常工作。
现在我已经在该服务器上安装了合法证书。当我在 Chrome 中从我的机器访问该站点时,它会引发以下错误:
错误 113 (net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH):未知错误。
我的猜测是 Chrome 缓存了自签名证书的密钥,它与合法证书的密钥不匹配。该站点适用于我机器上的所有其他浏览器,因此这只是 Chrome 的问题。
一个有趣的注意事项:从隐身会话 ( Ctrl+ Shift+ N) 中点击页面时,它可以正常工作。所以它显然是某种缓存的东西。
我做了我能想到的所有事情(转储我的缓存,从“管理证书”对话框的“个人和其他人”页面中删除证书,Ctrl+F5等)。
我的机器是 Windows 7 x64。Chrome 版本:12.0.742.91。
在 Google Chrome 帮助表单上,有关于听起来像是同一个问题的描述;然而,没有找到解决办法。
更新:今天似乎已经“自我修复”了。我讨厌这样的问题。我仍然不知道是什么导致了它或它是如何自行解决的。大概是缓存的证书过期了或者什么的,但我仍然有兴趣知道这些信息的存储位置以及如何验证它。
从 Chrome 58 开始,它不再接受依赖于Common Name以下内容的自签名证书:https : //productforums.google.com/forum/#! topic/chrome/zVo3M8CgKzQ;context-place = topicsearchin/chrome/category $3ACanary%7Csort:相关性%7Cspell:false
相反,它需要使用Subject Alt Name. 我之前一直在关注有关如何生成自签名证书的指南:https : //devcenter.heroku.com/articles/ssl-certificate-self,它工作得很好,因为我需要server.crt和server.key文件来完成我正在做的事情。我现在需要生成新的证书,其中包括SAN我所有的尝试都没有在 Chrome 58 上工作。
这是我所做的:
我按照上面提到的 Heroku 文章中的步骤来生成密钥。然后我写了一个新的 OpenSSL 配置文件:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = san
extensions = san
[ req_distinguished_name ]
countryName = US
stateOrProvinceName = Massachusetts
localityName = Boston
organizationName = MyCompany
[ san ]
subjectAltName = DNS:dev.mycompany.com
Run Code Online (Sandbox Code Playgroud)
然后server.crt使用以下命令生成:
openssl req …Run Code Online (Sandbox Code Playgroud) 我注意到最近几天来自我的工作站的异常流量。我看到 HEAD 请求发送到随机字符 URL,通常在一秒钟内发送三个或四个,而且它们似乎来自我的 Chrome 浏览器。这些请求每天只重复三四次,但我没有确定特定的模式。每个请求的 URL 字符都不同。
以下是 Fiddler 2 记录的请求示例:
HEAD http://xqwvykjfei/ HTTP/1.1
Host: xqwvykjfei
Proxy-Connection: keep-alive
Content-Length: 0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.98 Safari/534.13
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Run Code Online (Sandbox Code Playgroud)
对此请求的响应如下:
HTTP/1.1 502 Fiddler - DNS Lookup Failed
Content-Type: text/html
Connection: close
Timestamp: 08:15:45.283
Fiddler: DNS Lookup for xqwvykjfei failed. No such host is known
Run Code Online (Sandbox Code Playgroud)
我一直无法通过 Google 搜索找到与此问题相关的任何信息。我不记得在上周晚些时候之前看到过这种流量,但可能是我之前只是错过了。上周我对系统进行的一项不寻常的修改是将 Delicious 加载项/扩展添加到 IE 和 Chrome。我已经删除了这两个,但仍然看到流量。我已经运行病毒扫描 (Trend Micro) 和 HiJackThis 寻找恶意代码,但我没有找到任何。
如果您能帮助我追踪请求的来源,我将不胜感激,这样我就可以确定它们是良性的,还是表明存在更大的问题。谢谢。
我正在尝试使用运行 nginx 的 Ubuntu 机器建立一个网站。出于某种原因,我可以在 Safari 和 Firefox 中通过域名访问该站点,但在 Chrome 中它无法访问服务器。但是,我可以使用 curl、Postman 等,并且可以根据需要返回 index.html。
我发现在 Chrome 中,我可以使用 IP 地址访问该站点,但我完全不知道接下来要检查的位置。
这是我的配置文件:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
Run Code Online (Sandbox Code Playgroud)
我更改了响应代码只是为了确保这是我实际使用的配置。
任何帮助,将不胜感激!
编辑:域是 gwilliam.dev
我在设置一些自签名证书时浪费了很多时间;问题原来是浏览器(Chrome)缓存了一个错误版本的证书,然后就不放手。我做了很多修改证书的实验,结果发现这些实验没有测试任何内容,因为浏览器没有读取新版本的证书。
最后,我点击了浏览器地址栏中 URL 左侧显示的“无效”指示器。谁知道这是一个活跃的元素?单击它可以让我查看浏览器的证书版本。到期日期和时间与最新证书不匹配;这就是我知道浏览器使用了错误版本的方式。
我在 StackExchange 上发现了另一个类似的问题,但没有一个答案对我有用。(Chrome“设置”界面不断变化。)那么在 Chrome 版本 81 上如何清除证书缓存呢?
我在我的测试环境中在 Docker 中运行 chromedriver + chrome。
一切正常,直到最新的 CoreOS 升级。
这些是似乎有效的版本:
VERSION=1185.5.0
VERSION_ID=1185.5.0
BUILD_ID=2016-12-07-0937
Run Code Online (Sandbox Code Playgroud)
这是导致 chrome 进行核心转储的较新版本:
VERSION=1235.4.0
VERSION_ID=1235.4.0
BUILD_ID=2017-01-04-0450
Run Code Online (Sandbox Code Playgroud)
查看更改,似乎 docker 从 1.11.x 升级到 1.12.x,这中断了setns()容器内的调用。setns()Chrome 使用它来创建命名空间。
这是示例输出:
jsosic-coreos-test-20161207 ~ # docker --version
Docker version 1.11.2, build bac3bae
Run Code Online (Sandbox Code Playgroud)
从这个盒子上的一个容器里面:
[root@2939f21ecfaa /]# /opt/google/chrome/google-chrome
[57:57:0107/015130:ERROR:browser_main_loop.cc(261)] Gtk: cannot open display:
Run Code Online (Sandbox Code Playgroud)
这是新版本打破它的方式:
jsosic-coreos-test-2017-01-04 ~ # docker --version
Docker version 1.12.3, build 34a2ead
[root@13ab34c36c82 /]# /opt/google/chrome/chrome
Failed to move to new namespace: PID namespaces supported,
Network namespace supported,
but failed: errno = …Run Code Online (Sandbox Code Playgroud) 对于网站 scirra.com(单击 SSL Labs 服务器测试结果),Google Chrome 报告以下图标:

它是一种 EV SSL,它似乎在 Firefox 和 Internet Explorer 中运行良好,但在 Chrome 中运行不正常。这是什么原因?
我们有一个服务于静态资产的网络服务器。我们遇到了一个问题,在您浏览一些 http 请求后,它会卡在“待处理”状态。在 chrome 检查器中,响应标头确实会返回,但请求不会超时,并且看起来像是在下载。在时间线视图中,“等待 (ttfb)”是最后填写的项目(例如 400 毫秒),然后有一个注释“注意:请求尚未完成!”
这个问题似乎仅限于 chrome,并且当网站运行 https 时。我们无法在 safari、ff、ie 上重现,如果 https 关闭,我们也无法重现。
奇怪的注释:
nginx 版本 1.9.3
# some variables we've tweaked
worker_processes 4;
worker_connections 4000;
keepalive_timeout 15;
client_body_timeout 12;
gzip on
Run Code Online (Sandbox Code Playgroud)nginx 日志不会抱怨任何事情
有没有办法获得浏览器为每个请求发送到服务器的请求标头的总大小(以字节为单位)?
我的一些朋友有一个网站(www.kennelsoffie.dk),我会在遇到任何麻烦时尽力帮助他们。然而这一次我,想不通。当我使用 Google Chrome 访问该网站时,我看到一个警告页面,声称我尝试访问的页面包含来自 stopsse.info 的元素。
我不会任何 PHP,所以我只是下载了完整的网站,包括数据库的备份(即 .sql 文件)。然后,我在所有文件中搜索了 stopsse,但没有找到任何内容。
我还使用 siteadvisor.com 测试了该站点,它说“我们测试了该站点,但没有发现任何重大问题”。
PHP 是否可以隐藏对恶意软件站点的引用,以便我无法通过简单的搜索找到它?如果是这样,你怎么能找到它?