栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Spring Boot中使用Tomcat启用http2

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Spring Boot中使用Tomcat启用http2

下面

HTTP/2
是使用Spring Boot应用程序启用的最优雅,性能最佳的方法。

首先,如安迪·威尔金森(Andy Wilkinson)的回答中所述,您需要在Tomcat级别启用HTTP / 2:

@Beanpublic EmbeddedServletContainerCustomizer tomcatCustomizer() {    return (container) -> {        if (container instanceof TomcatEmbeddedServletContainerFactory) { ((TomcatEmbeddedServletContainerFactory) container)         .addConnectorCustomizers((connector) -> {     connector.addUpgradeProtocol(new Http2Protocol()); });        }    };}

如果您不使用嵌入式Tomcat,则可以这样设置HTTP / 2侦听:

<Connector port="5080" protocol="HTTP/1.1" connectionTimeout="20000">    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /></Connector>

请记住,您需要Tomcat > = 8.5。

然后,您应该在Tomcat前面使用

HAProxy
_(version > = 1.7)_来进行加密。

客户端将向HAProxy讲https,而HAProxy将根据客户端请求向后端讲明文HTTP / 1.1或HTTP / 2。不会有不必要的协议翻译。

匹配的HAProxy配置在这里:

# Create PEM: cat cert.crt cert.key ca.crt > /etc/ssl/certs/cert.pemglobal    tune.ssl.default-dh-param 2048    ssl-default-bind-options no-sslv3 no-tls-tickets force-tlsv12    ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS    chroot /var/lib/haproxy    user haproxy    group haproxydefaults    timeout connect 10000ms    timeout client 60000ms    timeout server 60000msfrontend fe_https    mode tcp    rspadd Strict-Transport-Security: max-age=31536000; includeSubDomains; preload    rspadd X-frame-Options: DENY    bind *:443 ssl crt /etc/ssl/certs/cert.pem alpn h2,http/1.1    default_backend be_httpbackend be_http    mode tcp    server domain 127.0.0.1:8080    # compression algo gzip # does not work in mode "tcp"    # compression type text/html text/css text/javascript application/json

编辑2019

使用模式“ tcp”时,我遇到两个问题

  • 压缩不起作用,因为它取决于模式http。所以后端必须照顾好它
  • 后端看不到客户端的IP地址。可能我需要NAT。仍在调查中…

通常,由于haproxy代理了较低级别的tcp连接,因此无法访问任何http东西



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/377394.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号