トップ OSS紹介 Apache HTTP Server

Apache HTTP Server

サポート対象

NRIのOpenStandiaが提供するApache HTTP Server最新情報

Apache HTTP Server情報

Apache HTTP Server情報更新日:2025/05/13

Apache HTTP Serverとは

Apache HTTP Serverは、1995年から開発されているオープンソースのWebサーバーソフトウェアです。
Apache Software Foundationにより管理・開発されており、クロスプラットフォーム対応でWindows、Linux、macOSなど多様な環境で動作します。
Webサイトやアプリケーションのコンテンツを配信するための基盤として機能し、インターネット上のWebサーバ市場で長年にわたり高いシェアを維持してきました。
モジュール式のアーキテクチャを採用しており、多くのサードパーティ拡張によって機能を拡張できます。

主な特徴

Apache HTTP Serverは、次のような特徴があります

  • 世界シェア16.5%を超える普及率
  • 圧倒的事例数による信頼性
  • 世界中で開発が続く多彩なモジュール
  • ほとんどすべてのプラットフォームに対応
  • シンプルで動作の軽い設計

メリット・デメリット

メリット・必要性

Apache HTTP Serverは20年以上の開発歴史を持ち、多くの環境で検証されてきたため、信頼性が高く、セキュリティ面でも迅速なアップデートが提供されており、豊富なドキュメントと大規模なコミュニティサポートにより、トラブルシューティングが容易です。
また、PHP、Perl、Pythonなど様々な言語との連携が容易で、WordPressなど多くのCMSやWebアプリケーションとの互換性が高いことも、多くの開発者やサイト運営者にとって大きなメリットとなっています。

デメリット・注意点・課題

Apache HTTP Serverはリクエストごとにプロセスまたはスレッドを生成するマルチプロセスモデルを採用しているため、高負荷時にはメモリ使用量が増大し、Nginxなどのイベント駆動型サーバーと比較して効率が劣ります。
また、近年はシェアが徐々に低下傾向にあり、モダンなWebアプリケーション向けのパフォーマンスチューニングでは他のサーバーソフトウェアに劣る場面も増えています。

導入事例

stateタイムアウト時のエラー画面が正しく表示されない問題を解消(サポート対応事例)

mod_auth_openidcでは、認証リクエストでmod_auth_openidcが発行するstateにタイムアウト(デフォルトは5分)を設定することができます。
OPでの認証の際にログイン画面表示後にすぐにログインせずに放置したケースなどで、認証レスポンスで送信されきたstateが上記タイムアウト時間を超過することがあります。
その場合、mod_auth_openidcはstateのタイムアウトを検知して、タイムアウトエラー画面を表示します。

ある顧客環境で、このstateタイムアウトエラーが発生した際に、エラー画面が適切に表示されないという問い合わせがあり、調査を行いました。

・再現確認および調査

顧客環境では、AWS ELB + Apache HTTP Server(2.4.43) + mod_auth_openidc(2.4.0.3)が利用されていました。
Apacheとmod_auth_openidcだけを使ったシンプルな構成では問題が再現しなかったため、ブラウザやAWS ELBの経由の有無を変えながら調査を行っていたところ、AWS ELB経由かつWindows IEもしくはGoogle Chromeを使っている場合に問題が再現することが特定できました。

AWS ELB経由

Windows IE

Google Chrome

FireFox

なし

再現せず

再現せず

再現せず

ELB経由あり

★再現★

★再現★

再現せず

なぜこのような動作の違いが生じているのか確認するため、ネットワークキャプチャを取得してレスポンスの中身を確認したところ、下記のようにエラー画面のレスポンスが想定外な状態になっていることが分かりました。

「本来のエラー画面レスポンス」の下に、本来は出力されるべきでない「重複したエラー画面レスポンス + Apache HTTP Serverのエラー画面レスポンス」が出力されてしまっており、Content-Lengthに一致したレスポンスサイズになっていないことが分かりました(Content-Lengthは、「本来のエラー画面レスポンス」のサイズだけになっています)。

リバースプロキシとしてApache HTTP Serverだけを使っている場合は、実際のレスポンスボディサイズとContent-Lengthが一致していない場合でも、何事もなかったように処理されてしまうため、顧客環境の問題は再現しませんでした。

一方で、 AWS ELBを経由している場合には、実際のレスポンスサイズとContent-Lengthが一致していないと、Windows IEやGoogle Chromeを使っている場合には、ブラウザが正しくレスポンスを受け取ることができなくなります(ブラウザ自身のエラー画面や真っ白い画面になる)。

・まとめ

上記のような調査結果から、以下の4つの条件を満たした場合に、問題の事象が再現することが判明しました。

  • mod_auth_openidcが2.4.1以下である
  • OIDCStateTimeoutを超過してタイムアウトエラーが発生する
  • ロードバランサにAWS ELBを利用している
  • ブラウザとして、Windows IEもしくはGoogle Chromeを使用している

直接の原因は、stateタイムアウト発生時のエラー画面レスポンスが不正な状態で出力されていることです。

当該問題に関しては、mod_auth_openidcのコミュニティに報告を行い、バグとして修正されました。 実際のやりとりは以下の通りです。

mod_auth_openidc 2.4.2以降でこの問題は修正されています。

その他導入事例

Apache HTTP Serverは、ほとんどすべてのプラットフォームに対応し、動作が非常に安定しているため、中小から大規模まで、さまざまな業種・システムでのHTTPサーバとして幅広く利用されています。

OpenStandiaでの、Apache HTTP Server導入事例も数多くあります。

  • 「大量サーバが必要なネットサービスインフラをオープンソースで」 サービス業 N社
  • 「基幹システム再構築をオープンソースで」 サービス業 T社
  • 「自治体システムをオープンソースで」 J市
  • 「ECサイトをMySQLで。オープンソースでクラスター構成」 サービス業 D社
  • 「オープンソースだからできるシステムの横展開」 サービス業 P社
  • 「オープンソースで共通プラットフォームを実現」 製造業 R社
  • 「開発環境のセキュリティを向上」 製造業 M社
  • 「MySQLのディザスタリカバリー構成」 サービス業 S社
  • 「フル・オープンソースのSaaSポータル」 SIer I社
  • 「銀行向けの確実な情報伝達」 金融機関 J社
  • 「金融機関の基幹DBにMySQLを活用」 金融機関K社
  • 「お客様を待たせない、高性能コールセンター」 金融機関 B社
  • 「高いピーク性能が求められるオンライントレードシステムをオープンソースで実現」 証券会社 G社
  • 秒間24,000にも及ぶ大量トランザクション NRI 証券ASPサービス
  • 「店舗とインターネット、2つの経路からの予約受付」 サービス業 F社
  • 「1日も早くサービスをスタートしたい!」 サービス業 E社
  • 「"止まらない"ECサイトを実現」 セブンドリーム・ドットコム様

類似プロダクト

Webサーバとして類似機能をもつ OSS として、以下のものがあります。

  • H2O
  • lighttpd
  • Nginx
  • OpenLiteSpeed

Netcraft社の調査によれば、Apache HTTP Serverは、かつては60%程度の大きなシェアを持っていましたが、その後登場した Nginx やその他のプロダクトにより徐々にシェアを奪われている状況になっています。

2025年2月時点でのWebサーバのシェアは、Nginxが20%、Apache HTTP Serverが約16.5%となっており、その他の選択肢についても増加傾向にあります。

参考:https://www.netcraft.com/blog/february-2025-web-server-survey/

こんなお客さまにApache HTTP Serverの導入をオススメ

次のようなお客様に、Apache HTTP Serverの導入をオススメします。

  • 信頼性の高いサーバソフトウェアを導入したい
  • サービスの規模を発展的に拡張させていきたい
  • 小規模なサーバから試験的に運用してみたい
  • 技術者を継続的に補充・補強していきたい
  • 独自サービス開発のための機能拡張の選択肢は多い方が良い

Apache HTTP Serverのライセンス

Apache HTTP Serverは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Nginx
    サポート対象

    Nginx

    エンジンエックス。Apache HTTP Serverに次ぐ利用率で人気急上昇中の高速・高性能Webサーバです。

  • Jetty

    Jetty

    ジェティ。100%Javaで開発されたJava Servletコンテナ/Webサーバです。

  • Apache Tomcat
    サポート対象

    Apache Tomcat

    アパッチトムキャット。JavaサーブレットやJSPを実行するためのソフトウェア

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。