もくじを隠す
Apache 2.4系でHTTP/2対応サーバを構築してみるテスト。
更新履歴
基本編
応用編
Let's Encrypt応用編
IPv6応用編
番外編
[基本編]
HTTP/2について
インストールするもの
OpenSSL 1.0.2以降
libev
jansson
nghttp2
apr/apr-util
Apache Httpdサーバ
有償の証明書発行機関から取得
暗号化した秘密鍵の生成
CSRファイルの生成
CSRファイルの提出
サーバ証明書のインストール
中間証明書のインストール
サーバのTLS(SSL)設定
Let's Encrypt(無償の証明書発行機関)から取得
ACMEプロトコルの仕組み
クライアントのインストール
証明書の取得
サーバのTLS(SSL)設定
Let's Encryptのサーバ証明書を自動更新
Let's Encryptのメンテナンス情報
短期間に連続した発行の制限
ステージング環境の利用方法
HTTP/2の各種設定
httpd.confの設定
TLS接続
OCSPステープリング
アクセスログの取り方
HTTP/2へのリダイレクト
Let's Encryptのリダイレクト対応
HTTP Strict Transport Security
HTTP/2の動作確認
h2c(非暗号接続)の場合
アップグレード
ダイレクトモード
h2(TLS接続)の場合
Chromeで確認
HTTP/2のチューニング
HTTP/2のプッシュ機能
HTTP/2プッシュの優先順位
リクエストのHTTP/2プッシュの優先順位ポリシー
h2c Upgrade/Directを無効にする
まとめ
[HTTP/2応用編]
HTTP/2のチューニング[応用編]
HTTP/2のチューニング[TLS応用編]
103 Early HintsとH2PushResource について
mod_http2のリファレンス
http/2ストリームの設定
ワーカスレッドの設定
メモリやファイルハンドルなどのリソース設定
TLS関連の設定
H2Push関連の設定
その他の設定
mod_rewriteの設定例
TLS接続の確認
Chromeで確認する場合
コマンドラインのOpenSSLクライアントを使う場合(OpenSSL1.0.1以前)
コマンドラインのOpenSSLクライアントを使う場合(OpenSSL1.0.2以降)
サーバ負荷をRSAとECDSAで比較
ECDSAのサーバ演算量
クライアントの演算量を含めた、RSAとECDSAの比較
暗号スイートの暗号強度と、公開鍵のビット数の設定
共通鍵暗号と公開鍵暗号
RSA暗号の公開鍵長の選択
ECDHEの楕円曲線の選択
サーバ負荷の比較
マルチアルゴリズム証明書の使い方
サーバの設定
動作確認
2016年度Accessログのまとめ
HTTP/1.x(HTTP/0.9)の小技
tls1.3を設定してみた。
H2Paddingについて
[Let's Encrypt応用編]
Let's Encryptの機能
Let's Encryptに追加される予定の機能
Let's Encryptの主な機能
証明書の透過性情報の登録
Let's Encrypt ベストプラクティス
certbotコマンドの使い方やオプション
letsencrypt-autoコマンドの使い方やオプション
acme.shスクリプトの使い方やオプションと、国際化ドメイン名(IDN)対応
dehydratedコマンドの使い方やオプション
スクリプトの初期設定
Webサーバの設定を追加
負荷分散装置がある場合
cronによる再取得
ECDSA対応の証明書取得
リファレンス
自分でCSRを生成して、Let's Encryptをつかう場合
DER形式のCSRと、証明書の取得
HTTP Public Key Pinningの設定
cronによる証明書の再取得
ECDSA対応CSRを生成して、Let's Encryptをつかう場合
ECDSA対応のDER形式のCSRと、証明書の取得
サーバにECDSA対応証明書の設定を追加
cronによる証明書の再取得
IPv6のみ対応のサイトで、Let's Encryptをつかう場合
IPv6のみ返すドメイン名を用意する
IPv6のみ応答するネームバーチャルサーバの設定
certbotコマンドによるIPv6ドメイン認証チャレンジ
Certification Authority Authorization(DNS CAA)設定
nsdを使って、Let's Encryptのdns-01認証チャレンジにより証明書を取得してみる。
ACMEv2を使って、ワイルドカード証明書を取得してみる。
Let's EncryptのCertificate Transparency対応
[IPv6応用編]
IPv6について
IPv6アドレスについて
リンクローカルスコープとグローバルスコープ
IPv6の設定の確認(Windowsクライアント編)
IPv6アドレスの自動設定
ルータ広告によるアドレス設定(ステートレス自動設定)
ルータ広告の設定に基づくDHCPv6の動作
ルータ広告で取ってきたアドレスか、DHCPv6で取ってきたアドレスか?
IPv6のサーバ設置ネットワークの設定
DHCPv6-PDを利用したルータの設定
サーバ設置ネットワークの設定
トラフィックフィルタの設定
IPv6スタティックアドレスの設定
IPv6対応ネームサーバのインストールと設定
ゾーンファイルの用意
レジストラの設定と動作確認
Apache HttpdのIPv6の設定と確認
WebサーバのIPv6対応のススメ
[OpenSSL応用編]
プライベートルート証明書・中間証明書・サーバ証明書の作り方
プライベートルート証明書のクライアント機へのインストール
プライベート認証局でECDSAサーバ証明書の作り方
OpenSSL3.0.0について
Apache 2.4.52のOpenSSL3.0系への対応について
OpenSSL1.1.1について
OpenSSL1.1.0について
OpenSSL1.1.0と以前のバージョンとの互換性
OpenSSL1.1.0系の暗号スイート
TLS接続のHTTP/1.1プロトコルの確認
あなたのブラウザのTLS/HTTP接続情報
ブラウザ毎のTLS実装の違いについて
Multi-prime RSAを使ってみた
[HTML編]
Google Search Consoleに「クリック可能な要素同士が近すぎます」と言われたときの対応
[FreeBSD編]
Microsoft AzureでFreeBSDをインストールしてみる。
Microsoft Azureで仮想マシンにディスクを追加してみる。
FreeBSDでZFSを設定してみる。
FreeBSDのZFSのACLを設定してみる。
FreeBSDのタイムゾーンとcronを設定してみる。
FreeBSDをバージョンアップしてみる。
FreeBSDで、libinotifyによるディレクトリ監視を使ってみる
LinuxとFreeBSDの両方で利用できる、inotifyを使った実装を考える
FreeBSDのemscriptenを使って、C++コードでWebアセンブリの開発してみる。
[モジュール編]
Apache Moduleのフック関数リスト
[番外編]
Let's Encryptを使ってqmailのTLSv1.2対応
CISCO社のWebVPNを設定してみる。
SSHで公開鍵認証を使ってログインしてみる。
Internet Explorer /Microsoft EdgeのTLS1.2対応
TLS1.2のみ対応のサイトに移行すると、どうなる?
wgetコマンドの小技
Sender Policy Framework(SPF)で嵌まった話
Adobe Illustratorで、Fireworksの「書き出し」⇒「レイヤーからファイルへ」を実現するスクリプト
サービスワーカー(ServiceWorker)/シェアードワーカ(SharedWorker)のデバック方法
User-Agent暗号プロトコル辞典
ロボット・クローラ編
ブラウザ編
OS編
端末機種編
鍵交換方式
証明書署名アルゴリズム
暗号スイート
bot観察日記
Visual Studioからgitを使ってみる。
User Agent Client Hintsをサーバ側で取得してみる。
有効期限が切れたサーバ証明書を使うとどうなるか?
もくじ [CONTENTS]
Tweet
Follow
Message
Apache 2.4系でHTTP/2サーバを構築してみるテスト。
2020年の更新履歴
日時
更新内容
2020-12-09
OpenSSL 1.1.1iがリリースされました。「
インストールするもの
」を最新のバージョンにあわせました。
2020-10-26
2020年10月2日ごろから、Google botがHTTP/2に対応した模様です。「
ボット観察日記
」を更新しました。
2020-09-24
OpenSSL 1.1.1hがリリースされました。「
インストールするもの
」を最新のバージョンにあわせました。
2020-08-23
ディレクトリ/ファイルの監視を行うAPIである、Linuxのinotifyと、FreeBSDのlibinotifyの両方で動く実装を作るための注意事項をまとめた、『
LinuxとFreeBSDの両方で利用できる、inotifyを使った実装を考える
』を公開しました。
2020-07-21
NSD 4.3.2がリリースされていたので、
NSDのインストール
を、最新のバージョンにあわせて、更新しました。
2020-07-15
User Agent Client Hintsを取得する方法に、Chrome/84の挙動を加えて、修正しました。「
User Agent Client Hintsをサーバ側で取得してみる。
」
もちろん、「
あなたのブラウザのTLS/HTTP接続情報
」から確認できます。
2020-06-17
Apple botのユーザエージェントのOS及びブラウザバージョンが変更されたようです。
ボット観察日記
を更新しました。
2020-06-01
User Agent Client Hintsを取得する方法を、Chrome/83の挙動に合わせて、修正しました。「
User Agent Client Hintsをサーバ側で取得してみる。
」
もちろん、「
あなたのブラウザのTLS/HTTP接続情報
」から確認できます。
2020-04-01
Apache Httpd 2.4.43がリリースされました。「
インストールするもの
」を最新のバージョンにあわせました。
2020-03-04
Let's EncryptのDNS CAA検証漏れのバグに伴う、証明書取り消しについて
を公開しました。
2020-02-01
NSD 4.2.4がリリースされていたので、
NSDのインストール
を、最新のバージョンにあわせて、更新しました。
2020-01-30
「
有効期限が切れたサーバ証明書を使うとどうなるか?
」を追記しました。
2020-01-26
Google botの送信してくるユーザエージェントに変化があったので、「
ボット観察日記
」を追記しました。
2020-01-24
User Agent Client Hintsを取得する方法を追記しました。「
User Agent Client Hintsをサーバ側で取得してみる。
」
もちろん、「
あなたのブラウザのTLS/HTTP接続情報
」から確認できます。
2020-01-18
Let's Encryptが、証明書へのIPアドレスの埋め込みを計画していることを追記しました。「
Let's Encryptの機能のまとめ
」
2020-01-01
OpenSSL 1.0.2系のサポート期間が終了しました。「サポートが終了したソフトウエア」を更新しました。
もくじ [CONTENTS]
Tweet
Follow
Message
NEXT >>
2017年の更新履歴
©Copyrights 2015-2023, non-standard programmer
このサイトは、あくまでも私の個人的体験を、綴ったものです。 軽く参考程度にご利用ください。