我的网站强制使用HTTPS,平均首次加载时间为3-5秒。 由于caching,重复加载时间是0.8秒。 SSL协商在我的服务器上需要150-300ms,所以我想尽可能频繁地保持每个连接的活动,以防止延迟。 SSLSessionCache被设置为默认的300秒。 Apache KeepAlive Timeout最近从5秒降低到2秒。 这种变化导致服务器负载平均值(平均值为5%,而不是平均值为10%)明显下降,但是我想知道如果第一次加载时间是3-5秒,是否会导致第一次加载时间变慢? 这是否意味着它每次通过2秒超时都必须再次执行SSL协商? 使用较less的SSL协商(但更多的睡眠httpd任务),或更低的负载平均数与更多的SSL协商是否更好? 我们绝对拥有足够的CPU和内存资源。 所以最终的问题是,什么会为我们的观众带来最好的performance呢? 将KeepAlive Timeout提高到3-5,还是保持在2? 谢谢!
Google PageSpeedbuild议提供一些静态文件,例如JavaScript,CSS。 但是,因为我们的网站是HTTPS,所以我们只是禁用了我们的Web服务器中的压缩function, 就我所了解的BREACH攻击而言,在服务器中启用压缩是不安全的。 我是否误解了在Web服务器上启用静态文件压缩的安全性? 还是有一些方法来传递压缩的静态文件,而没有BREACH的风险?
我有一堆后端服务器,他们应该使https请求。 我希望所有的HTTPSstream量都是由less数几台机器进行检查和控制的(比服务器场less很多倍) – 这就是为什么我要通过一个转发代理来build立所有SSL(然后代理我的https请求)的原因。 我发现鱿鱼sslbumpfunction ,但它只适用于服务器身份validation。 我不仅需要服务器authentication,而且需要相互authentication。 你知道一些与sslbump相同的技巧,但也包括相互authentication吗? PS所有的客户端证书都在我的控制之下,我从我的代理服务器访问他们。
当支持服务器名称指示(SNI)的Web浏览器连接到HTTPS站点时,是否始终在SNI字段中发送主机名? 也就是说,Web浏览器无法知道它所连接的HTTPS站点是唯一托pipe在主机名IP上的HTTPS站点,或者如果在该IP上发生了基于SNI的基于HTTPS名称的虚拟主机,正确? Web代理应该能够检查未encryption的SNI头,并根据主机名进行网站拦截,而不是像HTTPS站点那样根据IP地址进行阻止,对吧? 除了Windows XP上的IE6 / 7以外,所有主stream浏览器都支持SNI。 谢谢。
这是我的问题。 我有一台虚拟机,在Windows上安装了Apache服务器(2.4)。 虚拟机在networking上,以便其他人可以直接在http://192.168.100.22 (ACTUALLY) 首先,http协议一切正常。 我已经设置了HTTPS连接到这个服务器。 (实际上是本地networking上的自签名证书) 我已经安装了一个nodeJs服务器并在此机器上的9001端口上侦听。 这只是应该pipe理websockets。 实际的问题是没有任何工作与HTTPS的任何使用。 NodeServerconfiguration如下: var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); //… http.listen(9001,function(){ console.log('SERVER LISTENING'); }); 在客户端,一切工作正常与这种连接: var socket = io('ws://192.168.100.22:9001'); 现在所有的事情都在https协议上,这个连接失败了。 我必须做什么/更改,使我的套接字连接与https协议工作? 我试图将其更改为wss://而不是ws,试图在节点服务器中使用require('https')而不是http,但是没有任何工作正在进行中… 我面对的最后一个错误是: Cross-origin request blocked 感谢您的帮助/阅读
我想提供一个持续集成服务(我打算使用hudson ,但解决scheme也应该为其他人工作),用户将定义一个SCM URL(例如git URL)和工作空间/用于build筑物的源根应该在build筑之前清洁(至less可选)。 这需要大量的重复签出,我想caching(即使他们从本地存储读取,而不是从远程资源获取)。 不同的SCM( git , svn和mercurial / hg )使用不同的协议(HTTP,HTTPS, git等),其中一些可以被caching(HTTP),其他的一般不会(HTTPS不使用中间人(man-in-the-middle)这对于我想提供的值得信赖的服务来说是不可接受的),或者特别不是(我没有find任何git协议caching服务器)。 cachingHTTP不是一个问题,但很lessgit主机支持它或redirect到HTTPS。 我想支持一个协议,可靠地caching结帐,并build议用户使用它。 HTTP和git协议可以通过SOCKS代理实现redirect,但是不允许caching。 像IGD这样的其他协议也不能用于caching。
这里的交易…我有一个由证书颁发机构生成的个人P12证书。 我想用CURL来访问受保护的URL。 如果CENTOS上的CURL是用openssl编译的,我应该只把它转换成PEM格式,然后把这个文件提供给CURL(在UBUNTU上testing并工作)。 问题是我的curl是用NSS编译的。 所以,谷歌search了一段时间后,我发现我需要生成一个NSS数据库,并将证书导入到这个数据库。 之后,我应该能够调用curl传递一个别名,并访问我的url。 (这里解释: https : //stackoverflow.com/questions/19265100/curl-command-unable-to-load-client-cert-8018 ) 但我无法find一种方法来提供一个ALIAS我的钥匙。 所以curl不会find我导入的键。 调用curl给我: * Initializing NSS with certpath: sql:/var/nss * warning: ignoring value of ssl.verifyhost * skipping SSL peer certificate verification * NSS: client certificate not found (nickname not specified) * SSL connection using TLS_RSA_WITH_RC4_128_MD5 * Server certificate: 经过一些研究,我最终得到了两个select: – 尝试导入(或重新生成)这个数据库(或p12)的昵称(无法find如何做) – 或尝试replace我的curl和php_curl(我会需要以后)用openssl编译(不能find一个适当的存储库与两个包) 有任何想法吗??
我有以下情况: NGINX | | JavaEE TERMINATING | -> REVERSE PROXY -> | Application SSL (443) | HTTP | Server 反向代理是由: location /app/ { proxy_set_header X-Forwarded-Proto https; proxy_set_header Host www.example.com; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header REMOTE_ADDR $remote_addr; proxy_pass http://192.168.0.10:8080/app/; } 问题在于,在应用程序服务器(即位置:/ app / login)上执行的所有相对redirect都被redirect到http://www.example.com/app/login而不是其https对应https://www.example.com/app/login 。 所以,为了解决这个问题,我把它添加到了NGINX的位置configuration中: proxy_redirect http://www.example.com/ https://www.example.com/; 它开始工作没有问题。 我的问题是:有这样一个redirect是不是很好? 有没有另外一种方法呢?
我将我的整个网站从http移动到https由于我有几个域,我需要redirect到我的网站的https版本。 问题是,当我尝试将原始域从httpredirect到https时,nginx给了我一个无限循环。 你们能帮我吗? 这里是我的configuration server { listen 80; server_name www.domain.com.br domain.com.br w.domain.com.br ww.domain.com.br wwww.domain.com.br domain1.com.br www.domain1.com.br domain.com www.domain.com domain.net.br www.domain.net.br; return 301 https://www.domain.com.br$request_uri; } server { listen 443; server_name domain.com.br w.domain.com.br ww.domain.com.br wwww.domain.com.br domain1.com.br www.domain1.com.br domain.com www.domain.com domain.net.br www.domain.net.br; ssl on; ssl_certificate /home/ssl/ssl-bundle.crt; ssl_certificate_key /home/ssl/myserver.key; return 301 https://www.domain.com.br$request_uri; } server { listen 443; ssl on; […]
这是交易: 我们的客户端软件只能使用http协议连接,不能做https。 但是,安全要求决定了端到端的安全性,因此我们需要在与服务器交谈时使用https。 现在,我已经能够在testing环境中使用stunnel进行以下configuration: stunnel.conf文件: [mylocalproxy] client = yes accept = 127.0.0.1:3000 connect = the.real.server:443 鉴于上面的stunnelconfiguration,我可以configuration我的testing客户端使用端点地址http://localhost:3000/endpoint/url/和一切工作正常。 但是在生产环境中,客户端不能直接访问.real.servernetworking。 来自客户端的Http / sstream量必须通过代理服务器。 我的问题: 是否有可能configurationstunnel连接使用代理服务器? 如果不能使用stunnel,还有另外一种方法可以完成这个任务吗?