标签: alpn

如何在.NET C#中为HTTP/2服务器实现TLS-ALPN

有谁知道,我如何在.NET中实现TLS-ALPN

我已经实现了一个基本的HTTP/2服务器,但没有TLS加密.我在谷歌搜索,但我只找到了C,Java或其他语言的资源,但没有找到.NET(C#)的资源

.net c# ssl http2 alpn

6
推荐指数
1
解决办法
1317
查看次数

在'fat jar'中指定java代理?

我正在使用jetty-alpn-agent来向项目添加ALPN支持,但我能找到的是关于如何从.m2文件夹运行它的说明,这使我需要部署两个jar:s而不是仅部署一个uber-jar,从而减少了便携式的。

是否可以在jar中指定-javaagent开关的位置?

我正在寻找类似的东西java -javaagent:my.jar!/javaagents/jetty-alpn-agent-2.0.0.jar -jar myjar.jar,但这似乎不起作用。

java jar jetty javaagents alpn

6
推荐指数
1
解决办法
871
查看次数

将spring-webflux微服务切换到http / 2(网络)

有没有人将spring-webflux与netty(http / 2)一起使用?

Spring文档说:

您可以使用server.http2.enabled配置属性在Spring Boot应用程序中启用HTTP / 2支持。该支持取决于所选的Web服务器和应用程序环境,因为JDK8不立即支持该协议。Spring Boot不支持HTTP / 2协议的明文版本h2c。因此,您必须先配置SSL。

该标志server.http2.enabled对我不起作用。

我正在使用:

  1. JDK8
  2. org.springframework.boot:spring-boot-starter-parent:2.0.2.RELEASE
  3. 净值4.1.24。最终

请看一下我的配置:

application.yml

HTTPS也可以正常工作。但是协议仍然相同(http / 1.1)

在此处输入图片说明

这是ALPN的问题吗?我应该将我的应用程序升级到JDK10吗?我将不胜感激任何建议。谢谢。

netty http2 project-reactor alpn spring-webflux

6
推荐指数
2
解决办法
3189
查看次数

ALPN callback dropped: SPDY and HTTP/2 are disabled. Is alpn-boot on the boot class path?

Trying to get Apple push notifications to work with my Spring Boot project.

I'm using this apns-http2 for sending push notification. From their GitGub page:

Note: Ensure that you have Jetty's ALPN JAR (OkHttp requires it) in your boot classpath. See here for more information. This is required until Java 9 is released, as Java 8 does not have native support for HTTP/2.

So I added the vm option

Xbootclasspath/p:/Users/sarath/.m2/repository/org/mortbay/jetty/alpn/alpn-boot/8.1.9.v20160720//alpn-boot-8.1.9.v20160720.jar
Run Code Online (Sandbox Code Playgroud)

in Intellij run configuration and everything works. I'm getting the …

java apple-push-notifications spring-boot alpn

5
推荐指数
1
解决办法
1412
查看次数

服务器中不支持 ALPN 的 HTTP/2 h2

阅读完 HTTP/2 RFC (#7540)和 TLS-ALPN RFC (#7301)后,我仍然无法弄清楚当一端缺少 ALPN 时的预期行为。

假设我有一个使用 HTTP/2“h2”(通过 TLS)的客户端,该客户端与支持 HTTP/2 的服务器通信,但不在“服务器问候”中发送 ALPN 扩展。客户的预期行为是什么?

到目前为止,我见过的大多数客户端都认为服务器不支持 HTTP/2,并将连接降级到 http/1.1,但很少有人忽略(go-gRPC)继续使用 HTTP/2。

如果使用在客户端(“h2”)和服务器(“h2c”)之间执行 SSL 终止的 AWS classic LB,则此场景可能会更加实用。在此示例中,客户端发送值为“h2”的 ALPN 扩展,LB 在没有 ALPN 的情况下执行 SSL 握手(正如其部分所预期的那样),最终 JAVA gRPC 由于 HTTP/1.1 降级而失败。

rfc http2 alpn tls1.2 grpc-java

5
推荐指数
1
解决办法
1万
查看次数

FirestoreException - 找不到 TLS ALPN 提供程序 - 没有工作 netty-tcnative

我有一个用 Java/Kotlin 制作的桌面应用程序,具有 Firebase(特别是 Firestore 实时)连接。

它在我的笔记本电脑(通过 Parallels 的 Windows)和其他一些经过测试的 Windows 中运行正常。但是,在某些电脑上我总是遇到错误:

com.google.cloud.firestore.FirestoreException: java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty tcnative, Conscrypt, or Jetty NPN/ALPN available

我尝试了一些 jar 的创建变体,但没有任何帮助。

这是我当前的 build.gradle 连接:

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

jar {
    manifest {
        attributes 'Main-Class': 'main.LoginActivity'
    }
}

// java -cp Y:\Desktop\nwebprint\out\artifacts\nwebprint_main_jar\nwebprint.main.jar main.LoginActivity

group 'nwebprint'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

version = '1.0'
sourceCompatibility = 1.7
targetCompatibility = 1.7

//create …
Run Code Online (Sandbox Code Playgroud)

netty alpn google-cloud-firestore

5
推荐指数
1
解决办法
2398
查看次数

浏览器不会升级到H2,而是发送"升级"标题

在我的网络服务器上,我试图让H2(http2)工作.通过"ondrej"存储库安装Apache 2.4.20.我在Debian 8和Ubuntu 14.04服务器上测试过,但是我一直遇到同样的问题.我有OpenSSL 1.0.2和SSL vhosts运行.

奇怪的是发送升级头(连接:升级和升级:h2).当我做一些外部服务器测试时,我得到了响应,即在ALPN支持下h2正常运行.但问题是我测试的浏览器(Win7上的Chrome和FireFox)不会升级到H2.

我注意到缺少的一件事是HTTP2-Settings标头,但我在任何Apache文档中都找不到任何实现此功能或强制Apache发送此标头的内容.

遗憾的是我无法使用cUrl进行测试,因为我可以访问的服务器不支持任何具有http2支持的版本.

我的SSL vhost设置:

Protocols h2 http/1.1
SSLEngine On
SSLCACertificateFile xxxxxxxx
SSLProtocol all -SSLv2 -SSLv3
SSLCompression Off
SSLHonorCipherOrder On
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RSA+AES RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4 !AES128"
Header always set Strict-Transport-Security "max-age=15552000;includeSubDomains"
SSLCertificateFile xxxxxxxx
SSLCertificateKeyFile xxxxxxxx
Run Code Online (Sandbox Code Playgroud)

我正在使用prefork模块运行Apache而不是使用worker.

谁能告诉我什么是错的?

apache ssl http2 alpn

4
推荐指数
2
解决办法
5287
查看次数