【オンラインRPG】転生したらビヨンドのインターンだった件

【オンラインRPG】転生したらビヨンドのインターンだった件

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【圧倒的 低コスト】Oracle Cloud 構築・運用保守・監視サービス

【圧倒的 低コスト】Oracle Cloud 構築・運用保守・監視サービス

【WordPress専用】高速 クラウド / サーバー『WebSpeed』

【WordPress専用】高速 クラウド / サーバー『WebSpeed』

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【SNSアプリ開発】LINE カスタムアプリ開発サービス

【SNSアプリ開発】LINE カスタムアプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio カスタムアプリ開発サービス

【音声アプリ開発】Twilio カスタムアプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

Apache2.4でのtomcat連携で内部ELBを使うと「too long」のエラーが出る

インフラエンジニアの伊藤です。
AWSのサーバー構成で、Webサーバでアクセスを受けて、後ろにあるアプリケーションサーバーに対してリクエストをプロキシする
という構成はよくあると思います。

その際に、やっぱり可用性を考慮すると、各サーバは冗長化するほうがいいですよね。
ってことはこんな構成。

WebサーバとしてApacheを使っていて、アプリケーションサーバはtomcatを使う
こんな構成もよくあると思います。

で、Apacheがtomcatに投げるときにハマったので、その解決策を残しておきたいと思います。

ProxyPassの設定でハマった

Apacheのバーチャルホストに、受けたリクエストをtomcatに流す記載をします。

ProxyPass / ajp://internal-elb-xxxxxxxxxxxxxx.ap-northeast-1.elb.amazonaws.com:8009/

ProxyPassを使って、アクセスが来たものをajpの8009ポートにリクエストを投げています。
「internal-elb-~~」と書かれているのは、内部ELBになります。

ただし、この状態でApacheのシンタックスチェックをすると以下のようにエラーが出力されます。

# httpd -t
ProxyPass worker hostname (internal-elb-xxxxxxxxxxxxxx.ap-northeast-1.elb.amazonaws.com) too long

ProxyPassに投げるホスト名が長すぎる…
そんなこと言われたって、内部ELBのホスト名ってこんな感じなるし、IPアドレスも固定じゃないし、どうすりゃいいねん!!
となってしまいました。

Rewriteルールで対応

今回の構成では、ProxyPassでtomcatに向けてそのまま投げてくれたらOKなので、
下記のルールに変更しました。

RewriteEngine on
RewriteRule ^/(.*)$ ajp://internal-elb-xxxxxxxxxxxxxx.ap-northeast-1.elb.amazonaws.com:8009/$1 [P,L]

rewriteルールを使います。
rewriteとして、全てに来たらajpに対して投げる、というようなルールです。

これで無事ApacheのリクエストをTomcat(内部ELB)に投げてくれるようになりました。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
3,327
facebook twitter はてなブックマーク
【オンラインRPG】転生したらビヨンドのインターンだった件【プレイ無料】

【オンラインRPG】転生したらビヨンドのインターンだった件【プレイ無料】

この記事をかいた人

About the author