楽落人の備忘録

楽して生きていきたい。知識とか覚えておきたくない。

centos7 httpsが遅い

ローカル検証用に構築したcenos7(virtualBoxで構築)のHTTPSのリクエストがクッソ遅くて大変だった

その時のことを備忘録として記載

【結論】

ipv6設定を無効にする

コマンド:

vi /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

shutdown -r

参考:

CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント - レムシステム エンジニアブログ

 

【現象】

ローカルに検証用としてVirtualBoxで構築したCentOS7にもろもろ必要なものインストールしていたら、composerのインストールのためのリポジトリ登録でエラーがが発生。

内容はtimeout

【検証】

なんでタイムアウトしているのか原因不明だったためHTTPリクエストとHTTPSリクエストをcurlで投げてみた

HTTPリクエスト:

curl --location --request GET 'https://httpbin.org/'

HTTPSリクエスト:

curl --location --request GET 'https://www.google.com/'

 

すると、HTTPリクエストは即時レスポンスを取得できているのに、HTTPSリクエストは5分以上かかってレスポンスを取得していた。遅いけどレスポンス取得はできていた。

【原因】

よくわからんがHTTPSのレスポンス取得がめちゃくちゃ遅いために、timeout値こえて待てなくてエラー(タイムアウト)が発生している。

これだととても都合がわるい。環境構築のためのもろもろがインストールできない。

【調査】

centos HTTPS 遅い とかでググってもなかなかいい記事に行き当たらない。

そのためそもそもLINUX環境構築時に行うことに立ち戻っている記事を見つけたので、そちらを参考にもろもろ試してみることにした。

参考記事:

CentOS 7のインストール後におこなうLinuxの基本設定 13ポイント - レムシステム エンジニアブログ

【結果】

 ipv6設定を無効にする を対応したらHTTPSリクエストのレスポンスが即時取得可能になった。

【推測】

ipv6設定が有効だとそっちでHTTPSリクエスト飛ばしているのかな?それでだめだったからipv4でリクエスト飛ばしなおしてレスポンスを取得。この一連の流れの最初と最後だけ見た場合5分レスポンス取得までかかるという現象が発生するのではないか?

別の可能性だと、そもそもipv6でのHTTPSリクエストのレスポンス取得がクソほど遅い可能性。
どっちでしょうか。。。追及はしないが、取り急ぎ解決策をここに記載。

【補足】

wgetが遅い場合の対処法 - [Linux [Red Hat/CentOSなど]/サーバー] ぺんたん info

上記サイトと同様の現象が発生している場合、推測の前者が当たってる