Articles of https

具有多个SSL证书的Squid反向代理通过SNI

鱿鱼代理服务器提供的可能性,以提供多个SSL证书? 我有一个服务器与各种虚拟机运行Apache Web服务器为不同的客户。 作为向客户销售一个专用IP地址的经济替代scheme,我希望至less(解释和给出)在服务器机器的共享IP上使用sni的解决scheme。 假设我们有一个带有4个域的服务器: domain1a.com , domain1b.com , domain2a.com和domain2b.com 。 域domaina1.com和domainb1.com由虚拟机中的同一个Apache实例托pipe,其他两个域也是如此。 每个虚拟机都有一个NAT转换的本地IPv4 IP地址,请求应该发送到该地址。 所有HTTP(S)请求都将通过caching代理服务器来加速和共享服务器IP。 因此,解决scheme应该提供SSL终止和SNI。 早在2013年,对这个问题的回答就指出了乌贼不具备SNI的能力。 不过,由于Squid 3.5支持SNI, 据我了解,我用Squid的选项是 使用自签名的CA和dynamic证书生成 ,或者 使用具有多个SAN名称的证书,列出(物理)服务器上托pipe的所有域。 (1)显然不起作用,因为我们无法在每个网站访问者的电脑上安装自签名的CA证书(谢天谢地!)。 (2)对我不起作用,因为它非常不灵活,并且显示(物理)服务器机器上托pipe的每个域。 我在这里错过了什么吗? 我可以为SNI提供多个SSL证书吗? 如果这是不可能的:什么替代scheme将符合我的情况? 提前致谢!

为一个IP地址托pipe的两个基于名称的网站之一禁用HTTPS

我有一个本地Apache2服务器,在一个IP上托pipe两个基于名字的网站。 第一个网站仅托pipe在端口80上。第二个网站托pipe在端口80和443上。如果在端口80上访问,用户将redirect到端口443。 one.local(仅限HTTP): <VirtualHost *:80> ServerName one.local ServerAlias www.one.local DocumentRoot /var/www/html/one </VirtualHost> two.local(http和https): <VirtualHost *:80> DocumentRoot /var/www/html/two ServerName two.local ServerAlias www.two.local Redirect permanent / https://two.local </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/html/two ServerName two.local ServerAlias www.two.local SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem SSLCertificateKeyFile /etc/apache2/ssl/apache.key </VirtualHost> 这两个网站都可以访问,使用域名和two.local获得redirect就好了。 我遇到的问题是,当访问https://one.local ,用户已连接并提示Your connection is not secure因为尝试使用two.local的自签名证书。 我已经阅读了这个问题,似乎解决scheme是再次使用相同的证书,并从httpsredirect到http。 这个问题已经在三年前问过了,这个问题有没有更好的解决办法呢?

鱿鱼3.3.8 HTTPS(不透明)

我想限制youtube的带宽,所以我想拦截https连接。 我跟着几个教程,不能。 有人能帮我一个忙吗? # Squid listen Port http_port 192.168.1.215:3128 ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB key=/etc/squid/example.com.private cert=/etc/squid/example.com.cert # SSL Bump Config always_direct allow all ssl_bump server-first all sslproxy_cert_error deny all sslproxy_flags DONT_VERIFY_PEER sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB sslcrtd_children 8 startup=1 idle=1 我导入myCA.pem到网页浏览器,然后任何网页https我去我得到“代理服务器拒绝连接”。 如果不行的话,一切顺利。 我能做什么????? 这是access.log 192.168.1.172 TCP_HIT/200 52543 GET http://www.silencio.com.ar/wp-content/uploads/2016/07/AHJ8239-540×386.jpg – HIER_NONE/- image/jpeg 192.168.1.172 TCP_HIT/200 49912 GET […]

networking上的HTTPS / HTTP2速度较慢,但​​本地速度较快

我被要求设置一个更新的优化磁贴服务器,通过HTTPS提供磁贴(当页面不是HTTPS的时候,Google已经禁用了一些地图API),而且使用HTTP2似乎也是正确的做法。 现有的服务器是Apache 2.4.7,运行TileStache(一个Python应用程序)的mod_python来提供tile。 新的服务器是configuration了SSL和HTTP2的Nginx 1.11.3,并使用uwsgi 2.0.12以相同的TileStacheconfiguration运行TileStache。 然而,客户报告说,澳大利亚新服务器的性能比现有服务器慢。 在使用Apache ab在本地testing平铺负载性能时,现有服务器和新服务器都位于美国,并且位于同一基础架构中的单独服务器,现有的Apache服务器通过三个请求平均提供131毫米的单个平铺。 新的Nginx服务器在三个请求上平均提供115毫秒的单个图块。 从连接到澳大利亚高速NBN(国家宽带networking)的14.04 Ubuntu机器以100Mbit / s的速度,对现有服务器的同样ab -n 3请求平均产生867ms 。 但新的服务器平均返回瓷砖1562毫秒 。 客户在澳大利亚的ADSL连接上报告了类似的1-2秒响应,但是来自Chrome开发工具而不是abtesting。 与HTTP相比,什么会导致HTTP2上的HTTPS降级? 更新 我已经configuration了nginx来logging请求协议,并且ab似乎实际上是使用HTTP / 1.0进行请求的。 所以重新考虑使用哪个testing客户端。 我已经设置h2load使用http2执行70个并发请求: h2load -t2 -c 70 -n 70 -i urls 。 在同一基础架构的服务器上,我看到: 最小值最大值平均值sd +/- sd 请求时间:2.62ms 15.40ms 7.11ms 3.12ms 72.86% 连接时间:14.94ms 68.85ms 44.32ms 17.95ms 52.86% 时间到第一个字节:20.90ms 71.60ms 51.43ms 16.79ms 50.00% […]

Nginx负载均衡https

当通过nginx作为负载平衡器提供https服务时,我遇到了问题。 我有以下configuration: server { listen 443 ssl; listen [::]:443 ssl; server_name sub.domain.com; root /usr/share/nginx/html; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ssl_certificate /etc/ssl/[cert].crt; ssl_certificate_key /etc/ssl/private/wildcard.[cert].com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers '[…]' ssl_prefer_server_ciphers on; ssl_dhparam /etc/pki/tls/certs/dhparams.pem; location /application { proxy_pass http://server0; } location / { return 301 http://www.domain.com; } } 我正在服务一个运行在“server0”上的tomcat的站点。 […]

尝试将HTTPredirect到nginx中的HTTPS作为jenkins的反向代理时,从服务器返回空回复

我正在Jenkins后面运行Jenkins,并使用Let's Encrypt来获得SSL证书。 如果我通过https://jenkins.mydomain.de/访问该网站,一切工作正常。 但是,当我通过http://jenkins.mydomain.de/访问它,Firefox说:“连接被重置。”和curl说:“从服务器的空回复” 我如何debugging? 我真的不知道该在哪里寻找问题。 nginx日志不包含任何关于它的事情。 我怀疑在下面的configuration中关于端口80的部分是由其他指令无效,但我不知道我将如何调查。 $ curl -svL http://jenkins.mydomain.de/ * Hostname was NOT found in DNS cache * Trying my.ip.add.ress… * Connected to jenkins.mydomain.de (my.ip.add.ress) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.38.0 > Host: jenkins.mydomain.de > Accept: */* > * Empty reply from server * Connection #0 to host […]

在IIS 8.5 HTTPS到HTTPS中的URL重写在网关eroor中结束

我真的可以用专家的帮助 目前我们使用反向代理向外界发布多个http网站,都运行良好。 现在我需要给HTTPS访问一个内部的HTPPS站点。 内部HTTPS站点( https://tobadata.internal.lan )可以从运行iis 8.5和urlrewrite 3.0的反向代理服务器访问,所有的证书都可以,没有错误 外部URL的证书(ess.outside.be)安装在rproxy服务器上 证书绑定到在rproxy服务器上运行的特定Web服务器。 我已经复制了我通常用于我的HTTP站点的简单基本规则 <rewrite> <rules> <rule name="ReverseProxyInboundRule1" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <conditions> <add input="{HTTPS}" pattern="On" /> </conditions> <action type="Rewrite" url="https://tobadata.internal.lan/{R:0}" /> </rule> </rules> </rewrite> 使用此设置时,出现错误“502 – Web服务器收到无效的响应,同时充当网关或代理服务器” 我已经启用失败的请求跟踪,捕获502错误,但这不是帮助我,因为它似乎重写规则按预期工作? GENERAL_REQUEST_START SiteId =“2”,AppPoolId =“ess”,ConnId =“1610612741”,RawConnId =“0”,RequestURL =“https://ess.outside.be:443/”,RequestVerb =“GET”14:36 :04.272 GENERAL_ENDPOINT_INFORMATION RemoteAddress =“77.109.122.130”,RemotePort =“53751”,LocalAddress =“192.168.1.80”,LocalPort =“443”14:36:04.288 GENERAL_REQUEST_HEADERS Headers […]

是多用户环境下dynamic端口转发的安全替代scheme

我的用户在外部networking中的[externalserver]上工作。 我想让他们访问我的防火墙networking内的https服务。 我在DMZ中使用了无密码的ssh访问权限。 目前我让他们创build一个SSH SOCKS5转发代理: user@externalserver> ssh -Nf -D 9876 user@jumphost 并让他们把这个socks化的应用程序指向localhost:9876。 问题是,一旦build立了这个隧道,[externalserver]上的所有用户都可以通过它访问我的内部https服务。 显然ssh不提供SOCKS代理的身份validation。 我怎样才能实现这个function,但防止[外部服务器]上的非授权用户访问我的networking? 最好是一个无密码的解决scheme。 我对[externalserver]没有pipe理权限。

子网域HTTP在networking外不可用

我使用url rewrite 2.0模块为一个子域设置了一个httpredirect到https。 这是web.config代码。 <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" /> </rule> 这个redirect在networking中工作。 换句话说,store.domain.comredirect到https://store.domain.com 。 但是,在networking之外,store.domain.com不redirect,也根本不可访问。 在networking内部,可以访问https://store.domain.com 。 我错过了什么? 谢谢!

“Using-Default-VirtualHost”和“Using-Correctly-Named-VirtualHost”有什么区别?

结论:我相信我编译Apache时,我的openssl版本不匹配。 它现在有效; 我用已经安装的openssl重新编译了它。 感谢你的帮助,不信的人。 附加信息:我从tomcat连接器的server.xml中找出了另一个相关的设置。 所以,当域错误的时候,tomcat处理每个部分,并且域没有错,tomcat和apache同时处理,这可能是不同版本的openssl的问题。 …或不。 我知道这个问题很奇怪,但我无法想象有什么不同。 基本信息: 服务器在http://连接中正常工作。 (domain:test.domain.com)(Apache 2.2.31(用openssl 1.0.1u编译),Tomcat(6.0.35,之前已经安装) 我已经有* .domain.comauthenticationhttps://连接,我已经在'service.domain.com',所以“https:// service.domain.com”已经在其他服务器/机器/ IP 最后,我试图安装SSL到“test.domain.com”以允许https://连接。 问题: 我发现.. 如果我把“.conf”设置错了, #Wrong.conf <VirtualHost *:443> ServerName testy.domain.com #whatever, but not 'test.domain.com' …. </VirtualHost *:443> 正在工作时,我连接https:// test.domain.com。 (它将使用默认的VirtualHost;只有一个*:443,当我删除了虚拟主机,我得到错误,我无法连接。)没有问题,我得到完美的连接和authentication,我可以阅读我想要的网页。 但是,如果我正确设置了“.conf” #Correct.conf <VirtualHost *:443> ServerName test.domain.com … </VirtualHost *:443> 我无法连接https:// test.domain.com。 当我用其他工具检查时,详细的信息,如curl,动词, 当我用#Wrong.conf使用curl的时候 * TLSv1.2 (OUT), TLS handshake, Client […]