問題タブ [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.
apache - 「アップグレード」ヘッダーが送信されても、ブラウザーは h2 (HTTP/2) にアップグレードされません
Web サーバーで h2 (HTTP/2) を動作させようとしています。「ondrej」リポジトリ経由で Apache 2.4.20 をインストールしました。Debian 8 および Ubuntu 14.04 サーバーでテストしましたが、同じ問題が発生し続けます。OpenSSL 1.0.2 と SSL 仮想ホストを実行しています。
奇妙なことに、アップグレード ヘッダー (Connection: upgrade および Upgrade: h2) が送信されます。外部サーバーのテストを行ったところ、h2 が ALPN サポートで適切に動作しているという応答が得られました。しかし問題は、私がテストしたブラウザー (Win7 の Chrome と FireFox) が h2 にアップグレードしないことです。
欠落していることに気付いたのは、HTTP/2-Settings ヘッダーですが、これを実装したり、Apache にこのヘッダーを送信させたりするための Apache ドキュメントが見つかりません。
残念ながら、私がアクセスできるサーバーは HTTP/2 をサポートするバージョンをサポートしていないため、cUrl でテストできませんでした。
私のSSL vhost設定:
ワーカーではなく prefork モジュールを使用して Apache を実行しています。
何が悪いのか誰が教えてくれますか?
java - JVMバージョンに依存するMaven依存バージョン
プロジェクトをビルドしてテストを実行するときに、正しいバージョンの alpn-boot を取り込むMaven POM を作成しようとしています。
ビルドを実行するときに(たとえば、環境変数を介してmvn -Dalpn-boot.version=8.1.8.v20160420 test
、または環境変数として)「外部」からプロパティを注入している場合、全体が機能しますが、を使用してPOM内に補間しようとすると機能しません${java.version}
。
ファイル (スニペット)の次の設定でこれを達成するために、properties-maven-pluginを使用してみました。pom.xml
いずれかのプロパティ ファイルの内容:
基本的に同じ問題gmaven-plugin
:
どちらのアプローチでも、次のエラー メッセージが表示されます。
java - OkHttp + ALPN + APNS - 結果は SSL handshake_failure
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-8 - HTTP/2 Java 8、Jetty、および ALPN
このページにアクセスしました: https://www.eclipse.org/jetty/documentation/9.3.x/alpn-chapter.htmlクラスパスに ALPN ブート jar を配置しましたが、それでも機能しません。
Oracle Java 8 よりも Open SDK 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 と次の依存関係を使用すると、テストは成功しました。
Oracle JDK と互換性のある ALPN ブートのバージョンを確認するためのドキュメントはどこにありますか? ALPN ブートは OpenJDK とのみ互換性がありますか?
ALPN の Java 9 サポートの開始がネイティブになることを読みました。
余談ですが、どっちがいいですか?HTTP/2 呼び出し用の Netty または Jetty。
python - Chrome 開発者ツールで表示される http プロトコルが正しくありませんか?
このサイトで使用されている http プロトコルを確認していますhttp://www.dlf.in/ Chrome 開発者ツールは、下の画像のように http/1.1 であることを示しています。
ただし、 http/1.1 が使用できないことを示しているように見えるため、コマンド ライン ツールは Python の -http2または alpn です。また、http1のみが利用可能です。何が起きてる?
次のようにPythonでALPNネゴシエーションを行っています(opensslバージョン:OpenSSL 1.0.2hおよびpythonバージョン3.5.1)
linux - Apache HTTP を使用して OkHTTP/ALPN/Linux クライアントから HTTP/2 接続を確立できない
同じ HTTP2 クライアントが Windows から実行されている場合は発生しないため、問題は Linux 関連です。
HTTP/2 序文通信:
ウィンドウズ
Linux
ローカル\リモートマシンから、異なるJava\alpnバージョンのUbuntu\Fedoraで試しました。私はまだGOAWAYを得ています。Linux の場合に Apache が GOAWAY メッセージを送信するのはなぜですか? 修正方法は?