问题标签 [alpn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-platform - Google Cloud Bigtable HBase shell 连接挂起
首先,我认为这个问题与这篇文章中的问题有关中的问题有关。但是,评论中建议的 HBase shell 连接修复对我也不起作用,我看不到任何解决方案。
从 HBase shell 连接到我的 Bigtable 集群只是挂在任何命令上。例子:
shell 只是无限期地挂在那里,并在输入的任何命令上执行此操作。
以下是 CheckConfig 实用程序的结果:
以下是相关版本和环境变量:
我很感激解决这个问题的任何解决方案/建议/提示。谢谢!
android - OKHttp Android没有通过http2 alpn连接到nginx
我有一个使用以下库的 android 应用程序(4.4.4+):
我使用 OpenSSL 编译的 nginx(版本 1.9.14)(版本 1.0.2g 源代码编译)在 centOS 7 上使用 nginx -V 确认了 openSSL 的使用。为反向代理启用了 nginx http2 的配置:
在服务器上运行命令:
回报:
从任何现代浏览器浏览 API URL 会导致在 SSL 日志和 HTTP/2 chrome 插件中显示 HTTP/2 连接。假设在 nginx/OpenSSL 中正确配置了 HTTP/2。
Android OKHttp 客户端拒绝 HTTP/2:
我编写了一个自定义 TLS 套接字工厂,以在 <= Android 4.4.4 上启用 TLS 1.2。
TLSv1.2 确实可以使用这个自定义套接字工厂在 4.4.4+ 上运行,但我也尝试在 5.0+ 上运行,无论是否使用自定义套接字工厂,都没有 HTTP/2 运气。
HTTP/2 在 kit-kat、棒棒糖和棉花糖上失败,但在“N”开发者预览版(又名纽约芝士蛋糕)上工作。不会抛出任何错误,只会以 HTTP/1.1 连接。我很难找到任何与 OKhttp 和 HTTP/2 相关的文章,大多数帮助问题/帖子只是说使用 ALPN,但没有资源来详细说明其用法。OkHTTP 文档并不清楚 HTTP/2 的使用和部署实践,但主页上说它支持它。任何帮助或专家指导将不胜感激,即使只是朝着正确的方向轻推也会是一个巨大的帮助。如果我错过了任何可能在此过程中提供帮助的内容,请告诉我,提前致谢!
更新 1:我发现了一个与此相关的 SO 问题,答案非常模糊:[SO 链接]如何在 Android 设备上将 http/2 与 Okhttp 一起使用?有一条评论建议使用码头,但仅限于桌面使用,而不是 Android 使用。
更新 2:本文显示 ALPN 已在 Android 4.4 中启用:https ://github.com/http2/http2-spec/wiki/ALPN-Status
更新 3:能够使用 +5.0 连接 HTTP/2,但不能使用 4.4.4。我不需要低于 4.4.4,因为内部目标设备是 http/2 的关注点,它们运行 4.4.4。我能够更新应用程序以使用 Google Play Services 安全协议作为 OKHttp 套接字连接,但我们使用的 4.4.4 设备未启用 Google,因此我无法在这些设备上使用 PlayServices 安全套接字。
apache - 尽管发送了“升级”标头,但浏览器不会升级到 h2 (HTTP/2)
我试图让 h2 (HTTP/2) 在我的网络服务器上工作。通过“ondrej”存储库安装了 Apache 2.4.20。我在 Debian 8 和 Ubuntu 14.04 服务器上进行了测试,但我一直遇到同样的问题。我正在运行 OpenSSL 1.0.2 和 SSL 虚拟主机。
奇怪的是升级标头(连接:升级和升级:h2)被发送。当我进行一些外部服务器测试时,我得到了 h2 在 ALPN 支持下正常运行的响应。但问题是我测试的浏览器(Win7 上的 Chrome 和 FireFox)不会升级到 h2。
我注意到缺少的一件事是 HTTP/2-Settings 标头,但是我在任何 Apache 文档中都找不到任何内容来实现此功能或强制 Apache 发送此标头。
遗憾的是我无法使用 cUrl 进行测试,因为我可以访问的服务器不支持任何支持 HTTP/2 的版本。
我的 SSL 虚拟主机设置:
我正在使用 prefork 模块而不是工人运行 Apache。
谁能告诉我怎么了?
java - Maven依赖版本依赖JVM版本
我正在尝试创建一个 Maven POM,它将在构建项目和运行测试时引入正确版本的 alpn-boot 。
如果我在运行构建时(例如通过mvn -Dalpn-boot.version=8.1.8.v20160420 test
或作为环境变量)从“外部”注入属性,但在尝试使用${java.version}
.
我已经尝试使用properties-maven-pluginpom.xml
通过文件(片段)中的以下设置来完成此操作:
属性文件之一的内容:
基本上与以下问题相同gmaven-plugin
:
使用这两种方法,我都会收到以下错误消息:
jetty - 检查是否支持 ALPN
我正在评估OpenJDK 8 的Jetty alpn-boot以添加对 ALPN(和 HTTP/2)的支持。但是,问题是 jar 文件必须放在引导类路径中,并且我不能确保它始终存在于所有环境中的 webapp(例如,客户的服务器)。
所以我需要一个后备机制,比如:
我可以在不与 HTTP/2 服务器建立实际连接的情况下检查是否支持 ALPN?
java - OkHttp + ALPN + APNS - 结果是 SSL 握手失败
尝试使用 OkHttp (v3.4.1) 通过 HTTP/2 将请求发送到 Apple 的生产 APNS 服务器 (api.push.apple.com:443)。
我按照此处的步骤启用 ALPN:
http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html
我的环境是:
所以我正在使用:
我相信我已经确认 ALPN 正在工作,因为每当我尝试发送推送时,我都会在日志中看到类似于以下内容的内容(注意:ALPN.debug = true):
在上述之后我还看到以下错误(注意:启用 SSL 调试):
我已经确认我的 APNS 通用 SSL 证书是有效的,因为我们的旧代码、非 HTTP/2 代码(基于 Java-apns)可以使用它并毫无问题地发送推送通知。
通过扫描完整的 SSL 调试日志,我得到的印象是这里的核心问题是我的客户端和 APNS 服务器之间的通信永远不会转换到 HTTP/2。然而,我不清楚我还需要采取哪些其他步骤来确保这种转变的发生。
我已经向 Apple 发送了开发者支持请求以获取反馈,但我想我也会在这里发帖,以防有人有更多见解。
谢谢。
java - 在'fat jar'中指定java代理?
我正在使用jetty-alpn-agent
为我的项目添加 ALPN 支持,但我能找到的只是有关如何从.m2
文件夹中运行它的说明,这使我需要部署两个 jar:s 而不仅仅是我的一个 uber-jar,使其更少便携的。
是否可以为 -javaagent 开关指定 jar 内的位置?
我正在寻找类似的东西java -javaagent:my.jar!/javaagents/jetty-alpn-agent-2.0.0.jar -jar myjar.jar
,但这似乎不起作用。
java-8 - HTTP/2 Java 8、码头和 ALPN
我浏览了这个页面:https : //www.eclipse.org/jetty/documentation/9.3.x/alpn-chapter.html 在我的类路径中有一个 ALPN 引导 jar,但我仍然无法让它工作。
我很困惑是否需要 Open SDK Java 8 而不是 Oracle Java 8。
我的Java版本是:
我正在使用以下版本的 Jetty 和 ALPN 引导:
我还尝试使用不同版本的 Jetty 和 ALPN,我在这里找到了https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boot和这里https://mvnrepository.com/search?q=org .eclipse.jetty
无论我尝试哪种方式,我都无法将 POST 请求提交到 HTTP/2 端点。
但是,使用 Netty 和以下依赖项,我的测试成功了:
我在哪里可以找到文档以查看哪个版本的 ALPN 引导与 Oracle JDK 兼容?ALPN 引导是否仅与 OpenJDK 兼容?
我读到开始 Java 9 对 ALPN 的支持将是本机的。
顺便说一句,哪个更好?用于 HTTP/2 调用的 Netty 或 Jetty。
python - chrome开发者工具显示的http协议不正确?
我正在检查该站点使用的 http 协议http://www.dlf.in/ Chrome 开发人员工具显示它是 http/1.1,如下图所示。
但是,python 中的命令行工具is-http2或 alpn 似乎表明 http/1.1 不可用。并且只有 http1 可用。这里发生了什么?
我在 python 中进行 ALPN 协商如下(openssl 版本:OpenSSL 1.0.2h 和 python 版本 3.5.1)
linux - 无法使用 Apache HTTP 从 OkHTTP/ALPN/Linux 客户端建立 HTTP/2 连接
我遇到的问题与 Linux 相关,因为当同一个 HTTP2 客户端从 Windows 运行时不会发生。
HTTP/2前言通讯:
视窗
Linux
尝试使用 Ubuntu\Fedora,从本地\远程机器,使用不同的 java\alpn 版本。我还在走神。为什么 Apache 在 Linux 的情况下会发送 GOAWAY 消息?如何解决?