首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试使用https,Nginx进行ssl终止,而Varnish正在提供内容。但它并没有通过http2

在这个场景中,我们使用了Nginx作为SSL终止器,负责处理HTTPS请求和SSL证书的验证。同时,Varnish作为反向代理服务器,负责提供内容并缓存响应。

SSL终止是一种安全策略,它将SSL/TLS连接的解密和加密操作从后端服务器转移到前端服务器,以减轻后端服务器的负载。这样可以提高性能和安全性。

HTTP/2是一种新一代的HTTP协议,它在传输效率、并发请求处理等方面有很大的改进。然而,Varnish目前还不支持直接处理HTTP/2请求,只能处理HTTP/1.x请求。

为了解决这个问题,我们可以在Nginx和Varnish之间建立一个HTTP/2连接。具体步骤如下:

  1. 在Nginx配置中启用HTTP/2支持,可以通过在listen指令中添加http2参数来实现,例如:listen 443 ssl http2;
  2. 配置Nginx将HTTP/2请求转发给Varnish。可以使用proxy_pass指令将请求转发给Varnish的监听地址和端口。
  3. 在Varnish配置中,将其配置为监听Nginx转发的HTTP/2请求。可以通过修改Varnish配置文件中的backend指令来实现。

通过以上配置,我们可以实现在使用HTTPS的同时,通过Nginx进行SSL终止,并将HTTP/2请求转发给Varnish进行内容提供和缓存。这样可以同时享受到HTTPS的安全性和HTTP/2的性能优势。

推荐的腾讯云相关产品和产品介绍链接地址:

  1. 腾讯云SSL证书:https://cloud.tencent.com/product/ssl
    • 腾讯云SSL证书提供了全球领先的数字证书服务,保障网站和应用的安全性。
  2. 腾讯云CDN加速:https://cloud.tencent.com/product/cdn
    • 腾讯云CDN加速服务可以提供全球分发、高速缓存、智能调度等功能,加速网站内容的传输。
  3. 腾讯云负载均衡:https://cloud.tencent.com/product/clb
    • 腾讯云负载均衡可以实现流量分发、故障自动切换等功能,提高应用的可用性和性能。

请注意,以上链接仅供参考,具体的产品选择和配置应根据实际需求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Request Smuggling Via HTTP2 Cleartext

这就是h2c升级发挥作用的地方,我决定调查h2c实现的行为看看是否可以找到更灵活的走私选项 H2C规范 通常HTTP/2协议的使用通过TLS应用层协议否定扩展(TLS-ALPN)进行协商的,它由字符串...,我提出了三个问题: 如果边缘代理正在执行TLS终止并且我在HTTP消息中发送h2c升级请求,后端服务器如何知道我们正在尝试通过TLS进行h2c升级?...上使用TLS终止,在/endpoint上使用类似WebSocket的proxy_pass连接到支持h2c升级的后端服务,我还为NGINX服务器配置了访问控制,该访问控制阻止了对/flag端点的所有请求,...(在这里试用该工具和Docker演示) 根据规范,代理将始终期望通过TLS-ALPN进行h2协议协商,因此我们可以使用h2cSuggler通过TLS上的HTTP/1.1启动h2c连接 我们也可以在一些明文通道上执行此攻击...(通过传递未过滤的升级和连接头) AWS ALB/CLB NGINX Apache Squid Varnish Kong Envoy Apache Traffic Server HAProxy/Nuster

1.1K10

在Debian 8上使用VarnishNGINX通过SSL和HTTP提供WordPress服务

Varnish的一个缺点是它不支持SSL加密的流量。您可以使用NGINX作为后端Web服务器以及进行SSL解密来解决此问题。...本指南使用Varnish 4.0,它包含在Debian 8存储库中,并提供了一个基本设置,您可以根据自己的特定需求进行优化。...www.example-over-https.com 将是一个单独的HTTPS加密站点。 对于HTTP流量,Varnish将侦听端口80。如果在缓存中找到了内容Varnish将为其提供服务。...在第二种情况下,NGINX会将请求的内容发送回同一端口上的Varnish,然后Varnish会将获取的内容存储在缓存中并通过通过80端口将其传送到客户端。...如果在缓存中找到内容Varnish会将未加密的内容从缓存发送回NGINXNGINX会对其进行加密并将其发送给客户端。

3K20
  • 10个顶级Linux开源反向代理服务器 - 解析与导航

    HAProxy 是 HTTP 反向代理、TCP 代理和规范器、SSL/TLS 终止器/启动器/卸载器、缓存代理、HTTP 压缩卸载器、流量调节器、基于内容的交换机、FastCGI 网关等。...NGINX 支持使用 ngx_http_proxy_module 模块进行缓存的加速反向代理,该模块允许通过 HTTP 以外的协议(例如 FastCGI、uwsgi、SCGI 和 Memcached)将请求传递到另一台服务器...Varnish 使用一种灵活的配置语言,称为 Varnish 配置语言 (VLC),它使系统管理员能够配置应如何处理传入请求、应提供哪些内容、从何处以及应如何更改请求或响应, 以及更多。...Varnish 也是可扩展的——它可以使用 Varnish 模块 (VMOD) 进行扩展,用户可以编写自己的自定义模块或使用社区提供的模块。...Varnish 的主要限制是缺乏对 SSL/TLS 的支持。启用 HTTPS 的唯一方法是在其前面部署 SSL/TLS 终结器或卸载器,例如 HAProxy 或 NGINX。 4.

    2.6K20

    2020年适用于Linux的10个顶级开源缓存工具

    即在访问web应用程序时,使您能够查看网站或应用程序上的最新数据或内容不是在浏览器中使用本地存储的内容的旧副本。 客户端缓存的另一个示例是DNS缓存,它发生在操作系统(OS)级别。...在安全方面,Varnish Cache支持通过VMODS进行日志记录,请求检查以及限制,身份验证和授权,但缺少对SSL/TLS的原生支持。...您可以使用Hitch或NGINXSSL/TLS代理为Varnish Cache启用HTTPS。...NGINX提供基本的缓存功能,其中缓存的内容存储在磁盘上的持久性缓存中。 NGINX中有关内容缓存的有趣之处在于,当它无法从源服务器获取新鲜内容时,可以对其进行配置以从其缓存中传递陈旧的内容。...NGINX提供了多种安全功能来保护您的Web系统,包括SSL终止使用HTTP基本身份验证限制访问,基于子请求结果的身份验证,JWT身份验证,限制对代理HTTP资源的访问,按地理位置限制的访问,以及更多

    2.4K30

    Varnish Cache入门

    如果您的Web服务器是nginx并且您打算使用Varnish缓存来提供WordPress,请访问Linode的使用指南:在Debian 8上通过SSL和HTTP使用Varnishnginx提供WordPress...以Varnish Live为例:配置Web流量以提供内容缓存服务   现在您已经配置了Varnish,本节通过交换Web服务器提供的和Varnish侦听的端口使其成为您的Web服务器。...如果您使用的是nginx,请跳过此步骤。如果您正在使用Apache,请更改Apache侦听的端口。编辑/etc/apache2/ports.conf和任何虚拟主机。...取消Cookie   如前所述,如果Varnish检测到您的网站正在设置Cookie,则会假定您的网站需要与这些Cookie进行交互并相应地显示动态内容,因此,Varnish不会缓存这些网页。...如果您正在提供静态内容,则宽限时间可以更长,以确保正常运行。 从另一个Linode提供Varnish缓存服务(可选)   为了增加可用性,请考虑从单独的Linode提供Varnish缓存。

    1.5K20

    如何在Ubuntu 16.04上部署支持HTTP2Nginx

    SSL证书。生成自签名证书,从“我们加密”获取一个免费的证书,或从另一个提供商处购买一个。 就这些。如果您有上面列出的所有内容,您随时可以去。...修改监听端口为HTTPS协议使用的443: // 在/etc/nginx/sites-available/default中 listen 443 ssl http2 default_server; listen...由于我们希望仅通过HTTPS提供内容,所以我们应该告诉Nginx如果服务器收到HTTP请求应该做什么。...在这一点上,我们的服务器已经准备好通过HTTP / 2协议提供内容了,但是我们仍然需要为生产环境的服务器做一些准备。...如果浏览器找到HSTS头部,则在给定的时间段内不会再尝试通过常规HTTP连接到服务器。无论如何,它将只使用加密的HTTPS连接交换数据。这个头部还能保护我们免受协议降级攻击。

    1.1K30

    如何在Ubuntu 18.04上部署Odoo 11

    配置为SSL终止代理 如果您想使用Nginx作为SSL终止代理,请确保您符合以下先决条件: 您有一个指向您的公共服务器IP的域名。...在本教程中,我们将使用example.com。 通过下面的介绍安装Nginx。 您的域名安装了SSL证书。通过以下介绍,您可以安装免费的Let's Encrypt SSL证书。...默认的Odoo Web服务器通过HTTP提供流量。为了使我们的Odoo部署最安全,我们将Nginx配置为一个SSL终止代理,它将通过HTTPS提供流量。...这意味着我们的终止代理(Nginx)将处理和解密传入的TLS连接(HTTPS),并将未加密的请求传递给我们的内部服务(Odoo),因此Nginx和Odoo之间的流量不会被加密(HTTP)。...在本例中,我们将配置SSL终止,HTTP到HTTPS重定向,WWW到非WWW重定向,缓存静态文件和启用GZip压缩。

    1.9K20

    如何在Ubuntu 16.04中为Nginx创建自签名SSL证书

    使用这种技术,服务器可以在服务器和客户端之间安全地发送流量,不会被外部各方拦截。证书系统还可以帮助用户验证他们正在连接的站点的身份。...如果你有域名,保护你网站的最简单方法是使用腾讯云SSL证书服务,它提供免费的可信证书。腾讯云SSL证书安装操作指南进行设置。...第一步:创建SSL证书 TLS / SSL通过使用公共证书和私钥的组合来工作。SSL密钥在服务器上保密。它用于加密发送给客户端的内容SSL证书与请求内容的任何人公开共享。...我们想要创建一个新的X.509证书,所以我们使用这个子命令。 -x509:通过告诉实用程序我们要创建自签名证书不是生成证书签名请求(通常会发生)来进一步修改上一个子命令。...您使用哪种配置的选择在很大程度上取决于您需要支持的内容。它们都将提供很大的安全性。 出于我们的目的,我们可以完整地复制提供的设置。我们只需要进行一些小的修改。

    3K00

    网站 HTTPS 优化

    在现在的网络上,一个网页平均需要请求几十次,而在 HTTP 1.1 时代浏览器能做的就是多开几个连接(通常是 6 个)进行并行请求, HTTP 2 中可以在一个连接中进行并行请求。...在 Nginx 中开启 HTTP 2.0 非常简单,只需要增加一个 http2 标志即可 listen 443 ssl; # 改为 listen 443 ssl http2; 如果你担心你的用户用的是旧的客户端...因此,所有使用旧 Client 的用户,仍然不受影响,新的客户端则可以享受 HTTP/2 的新特性。...不使用 Let's Encrypt,可以尝试替换为阿里云提供的免费 DV 证书 开启 OCSP Stapling 开启了 OCSP Stapling 的话,跑到证书验证这一步可以省略掉。...建议值为 4k,但是这个值的最佳取值显然会因为数据的不同不一样,因此请尝试 2 - 16k 间不同的值。

    90610

    如何在Ubuntu 18.04上使用HTTP 2支持设置Nginx

    为您的服务器配置的TLS / SSL证书。你有两个选择: 最简单方法是你可以使用腾讯云SSL证书服务,它提供免费的可信证书。腾讯云SSL证书安装操作指南进行设置。...listen [::]:443 ssl http2 ipv6only=on; listen 443 ssl http2; ... 这告诉Nginx在支持的浏览器中使用HTTP / 2。...如果您使用自签名证书或使用来自第三方的证书并根据先决条件对其进行配置,请/etc/nginx/snippets/ssl-params.conf在文本编辑器中打开该文件: sudo nano /etc/nginx...您将在新的Protocol列中看到h2(代表HTTP / 2),表明HTTP / 2正在运行。 此时,您已准备好通过HTTP / 2协议提供内容。让我们通过启用HSTS来提高安全性和性能。...如果浏览器找到HSTS标头,它将不会尝试在给定时间段内通过常规HTTP再次连接到服务器。无论如何,它只使用加密的HTTPS连接交换数据。此标头还可以保护我们免受协议降级攻击。

    2.4K30

    网站 HTTPS 优化

    在现在的网络上,一个网页平均需要请求几十次,而在 HTTP 1.1 时代浏览器能做的就是多开几个连接(通常是 6 个)进行并行请求, HTTP 2 中可以在一个连接中进行并行请求。...在 Nginx 中开启 HTTP 2.0 非常简单,只需要增加一个 http2 标志即可 listen 443 ssl; # 改为 listen 443 ssl http2; 如果你担心你的用户用的是旧的客户端...因此,所有使用旧 Client 的用户,仍然不受影响,新的客户端则可以享受 HTTP/2 的新特性。...不使用 Let's Encrypt,可以尝试替换为阿里云提供的免费 DV 证书 开启 OCSP Stapling 开启了 OCSP Stapling 的话,跑到证书验证这一步可以省略掉。...建议值为 4k,但是这个值的最佳取值显然会因为数据的不同不一样,因此请尝试 2 - 16k 间不同的值。

    81030

    使用Lets Encrypt的SSL证书配置HTTPS手记

    尝试了一下,还蛮不错。 安装 Cerbot Certbot专门用来部署Let‘s encrypt的工具,其官网会根据使用的web服务器软件和操作系统平台,提供响应的安装工具和安装方法。...配置HTTPS 我们已经生成了SSL证书,下面就是应用到我们的服务器了。对于配置nginxhttps,有mozilla的一个网站提供了最佳实践。...return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2...检测SSL的安全性 配置成功HTTPS之后,为了验证我们的成果,可以通过Qualys SSL Labs网站检测。不出意外,你将得到一个A+。如果还没有,则仔细看看还差什么方面的修补啦。...由此可见,很多时候,我们可以通过技术创造去提供更好的服务。使用HTTPS,开启HTTP2.0。让letsencrypt为你的网站保驾护航。----

    2.2K82

    HTTP2即未来

    简而言之就是 H2是一个二进制协议,H1是超文本协议.传输的内容都不是一样的 H2遵循多路复用即,代替同一host下的内容,只建立一次连接....这些无疑都给HTTP1.1的速度造成了极大的影响.所以,HTTP2 不采用这种方式来,,干脆直接使用二进制. 那,H2是怎样实现,二进制传输呢?...不过, 使用 HTTP2 这种机制的话,有一下几个优于 inlining 的特点: push 的资源能够缓存在浏览器中 不同的网页能够使用该缓存,不用重新发起 push 的资源是通过 multiplexed...都是一些工程化上的内容, 记一下就ok了. 那具体涉及请求是怎样的呢? 简单来说,在 HTTP1.1 进行请求时,如图: ? 添加 HTTP2.0 server push 之后为: ?...HTTP2 就是凭借他来进行所有的信息交流的,地位差不多和TCP的 frame内容一样的.

    73830

    HTTP2探索第二篇——工具及应用

    注意:也可以不用生成证书,直接使用keys文件下提供的http2test.com证书; Let’s Encrypt 打开Let’s Encrypt的官网,这里讲解如果已经启动nginx的情况下,如何签发证书...curl curl的基本用法是: curl -v -o /dev/null --http2 http://nghttp2.org 这里输入的是HTTP不是HTTPS是因为,这里会采用HTTP2的ClearText...的说明中,并没有规定Server Push具体的实现策略,这个可由服务器和客户端自主决定: Jetty:jetty通过referrer建立了一个依赖模型,该模型可以应用在CDN里,方便配置; h2o:通过...四、开发准备 wireshark 这里讲解基本的wireshark使用,由于大多数的HTTP2都是基于Over TLS版,也就是需要解密才能看到正确的HTTP2内容;wireshark提供了两个方式:...开启HSTS后,第一次(之前访问过该域名)之后的访问浏览器会自动强制使用HTTPS访问; 对证书问题的宽容:未开启HSTS时,如果证书有问题,客户端只会提示警告,不是禁止访问,开启HSTS后,会被禁止访问

    3K100

    Nginx开启HTTP2支持

    2、HTTP2会对消息头采用HPACK进行压缩传输,这样能够节省下消息头占用的网络流量,HTTP/1.x 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源。...3、HTTP2的多路复用,HTTP2会将所有的请求通过一个TCP连接中并发完成。.../ssl/www.test.com.key; } 上面是一个网站的简单配置文件,我们只需要在https端口添加http2指令就好了,配置完成后,先检查一下配置文件有没有问题: nginx -t 如果没有问题...,重启nginx服务 service nginx restart 最后验证我们的网站是否真的启用了HTTP2,这里提供2种验证方法: 1、通过查看请求的Protocol验证 用chrome浏览器打开待验证的网址并开启控制台...HTTP/2');         }     }     console.warn('本站点没有使用HTTP/2'); })(); 如果是基于HTTP2传输的,那么会显示“本站点使用了HTTP/2”

    2.3K21

    高性能 Nginx HTTPS 调优 - 如何为 HTTPS 提速 30%

    照例,本文的 Nginx 设置文件放置于 github,欢迎直接使用: 高性能 Nginx HTTPS 调优(https://github.com/Kalasearch/high-performance-nginx-tls-tuning...在 Nginx 中开启 HTTP 2.0 非常简单,只需要增加一个 http2 标志即可 listen 443 ssl; # 改为 listen 443 ssl http2; 如果你担心你的用户用的是旧的客户端...不使用 Let's Encrypt,可以尝试替换为阿里云提供的免费 DV 证书 开启 OCSP Stapling 开启了 OCSP Stapling 的话,跑到证书验证这一步可以省略掉。...因此我们大致判断应该是因为我们使用的 Let's Encrypt 证书的问题。 我们按照上文中的步骤对 Nginx 设置进行了调整,并将步骤总结出来写了这篇文章。...总结 ---- 调整 Nginx 中的 TLS 设置对于使用 HTTPS 的服务和网站延迟有非常大的影响。

    1.1K01
    领券