ブログレンタルサーバー基礎知識

Nginxをリバースプロキシにしているレンタルサーバー

ブログ

[PR]当サイトはアフィリエイト広告を利用しています。

今回はWebサーバーであるNginxをリバースプロキシに適用しているレンタルサーバーについて解説していきます。

まずはじめにNginxについて軽く解説したのち、リバースプロキシとはそもそもなんなのか、ということを解説します。その後リバースプロキシの利点を解説し、最後にNginxをリバースプロキシにしているレンタルサーバーをまとめます。

Nginxのリバースプロキシ化は多くのメリットがあります。今回の記事を読むことで、Nginxをリバースプロキシに適用するということに対して理解が深まり、レンタルサーバー選びに関する知識が深まれば幸いです。

Nginxとは

Nginxの概要

NginxとはWebサーバーの一つです。

Webサーバーには代表的な次の3つが存在します。

  • Apache
  • Nginx
  • LiteSpeed

上のリストは速度の昇順に並んでいます。Apacheが遅め、LiteSpeedが高速と言われています。

Webサーバーとはサイト閲覧者がウェブページを表示しようとしたとき、サーバー上のサイトの情報を読み込んで閲覧者にデータを返すような役割をするソフトウェアのことです。つまりWordPressで言うと、ユーザーからアクセス要求があったときに、WordPressというプログラムでウェブサイトを作成してユーザに送信するのがApacheやNginxということになります。

Webサーバーは、テキスト、画像、動画、アプリケーションデータなど、Webサイトのコンテンツを保存し、要求したクライアントに配信します。

NGINX, Webサーバーとは?, 閲覧日2023-09-19.

ApacheとNginxはオープンソースソフトウェアで、ソースコードが無償公開されていて、比較的安く運用できます。

NginxはC10K問題を解決するために開発されました。

イゴール・シソーエフ(Igor Sysoev)は当初、C10K問題を解決するためにNGINXを開発しました。「C10K」とは、1999年に作られた用語であり、大量(10K)の同時接続(C)の処理が既存Webサーバでは難しいことを意味します。

NGINX, NGINXとは?, 閲覧日:2023-09-19.

この性質からNginxは高速に大量のアクセスをさばけるという性能を持ち、Apacheのシェアを奪いつつあります。

Webサーバーシェア
Nginx34.2%
Apache31.0%
Cloudflare Server21.0%
LiteSpeed12.5%
W3Techs, Historical trends in the usage statistics of web servers (Q-Success), 2023-10-02, 閲覧日:2023-10-02.

C10K問題とは

ApacheのシェアがNginxに奪われている理由を理解するために、C10K問題についてもう少し詳しく解説します。

詳細は次のサイトにわかりやすくまとめられているので、完全に理解したい場合はこちらをご覧ください。

いまさら聞けないNode.js

簡単に言うと、C10K問題というのは、次のような3つの原因で同時接続に弱くなる問題です。

  • サーバーに接続要求があるたびにOSがプロセス(処理のまとまりのようなもの)を立ちあげるが、同時に立ち上げられるプロセスに上限があるので上限を超えると処理待ちで遅くなる
  • プロセス間のスイッチング(切り替え)をするための処理が、同時接続が多すぎると膨大になり、コンピューターのリソースが足りなくなる
  • ファイル入出力など、プロセス以外の動作にも同時に処理できる上限がOSで決まっていて、その上限以上は同時にさばけない

Nginxの利点

Nginxはイベント駆動型という仕組みで、C10K問題を解決します。イベント駆動型というのは、簡単に言うと、処理だけ投げて終わったら次に進むような処理の仕方です。処理を投げている間に別の処理をこなすことができます。この効率的な動作のおかげでC10K問題を解決しています。

イベント駆動型ではない仕組みは次のようなものです。

一連のプロセスを順番に処理するので、処理が終わるまでコンピューターのリソース(CPUなど)が暇になります。つまりAが終わるまでBやCに取り組むことができません。

対してイベント駆動型だとこうなります。

上で重い時間がかかる処理が処理A、軽い時間がかからない処理が処理Bとなります。イベント駆動型ではない処理では重い処理Aがすべて終わるまで、リソースは待機している必要がありますが、イベント駆動型ではAの処理を待っている間も、処理BやCを行えるので、リソースの待ち時間が減って効率的な処理ができます。

これを実現したのがNginxというWebサーバーとなります。

リバースプロキシとは

リバースプロキシ概要

リバースプロキシというのはWebサーバー本体の前段階に置かれるサーバーです。リバースプロキシサーバーとも言います。

通常の通信はリバースプロキシがない状態で行われます。するとオリジンサーバーとユーザーが直接通信するのでオリジンサーバーのIPアドレスなどが筒抜けになります。一般にIPアドレスが筒抜けなのはセキュリティ上リスクがあります。IPアドレスがわかればどこにサーバー本体があるのか地理的情報が判明してしまいます。地理情報は大まかなものがわかるだけですが、IPアドレスがハッカーにわたるとハッキングなどのリスクが高まります。サーバーのIPアドレスがわかれば、そこをめがけた攻撃が仕掛けやすくなるのです。

リバースプロキシを挟むことで、ユーザーはリバースプロキシサーバーとだけ通信を行うことになり、オリジンサーバーと直接情報をやり取りしないので、オリジンサーバーの匿名性が担保されます。

このようにリバースプロキシサーバーはオリジンサーバーとユーザーの間に配置され、ユーザーのリクエストをオリジンサーバーへ繋ぎ、オリジンサーバーからの応答をユーザーに伝える橋渡しをします。

Nginxはオリジンサーバーに採用することもできますが、リバースプロキシサーバーに採用することもできます。つまりオリジンサーバーにApacheを、リバースプロキシサーバーにNginxを採用することができるのです。なぜこの構成が良いのかも後に解説します。

上で挙げた理由以外にもリバースプロキシを利用するメリットは色々あります。これからそれを解説していきます。

Nginxをリバースプロキシに採用するメリット

リバースプロキシの利点を挙げるより、直接Nginxをリバースプロキシに採用するメリットを述べていこうと思います。結局ここが知りたいわけですからね。主な利点は次のようになります。

  • ファイルキャッシュで高速な通信を実現
  • オリジンサーバーの匿名化
  • アクセス制限や不正なリクエストのフィルタリング
  • gzip圧縮転送
  • 通信のログを一括管理
  • リクエストとレスポンスのバッファリング
  • Apacheの.htaccess機能を使いながらリバースプロキシの利点を活かせる。

順番に解説していきます。

ファイルキャッシュ

ファイルキャッシュについてですが、これはリバースプロキシサーバーを物理的にユーザーの近くに置いておき、そこにオリジンサーバーのキャッシュファイルを配置します。例えば東京にオリジンサーバーがあるときに、北海道のユーザーのために北海道にリバースプロキシサーバーを設置してそこにオリジンサーバーが作成したキャッシュファイルを配置します。するとユーザーはキャッシュファイルだけ受け取ればよいので、通信経路の物理的な距離が短くなり、通信時間が短縮されます。東京と北海道の通信をするところを北海道内で通信を完結させることができます。(あくまで例えなので実際はどうなっているかわかりません)

オリジンサーバーの匿名化

次にオリジンサーバーの匿名化。これは上で述べたようにユーザーとオリジンサーバーの通信は間にリバースプロキシサーバーが入ることで、ユーザーはリバースプロキシサーバーとだけ通信すればよいので、オリジンサーバーのIPアドレスが匿名化されます。IPアドレスが匿名化されることで大事なコンテンツが存在するオリジンサーバーへの攻撃がしにくくなり、セキュリティが向上します。

アクセス制限・フィルタリング

アクセス制限やフィルタリングというのは、リバースプロキシサーバーがユーザーのIPアドレスなどをもとに、攻撃者や許可されていない地域からのアクセスかどうか判定して、許可できないユーザーからのアクセスはオリジンサーバーでコンテンツを作成する前に遮断することでサーバーのセキュリティを高めることです。

gzip圧縮転送

gzip圧縮転送というのは、リバースプロキシサーバーがユーザーにコンテンツを配信する際に、リバースプロキシサーバーがコンテンツファイルを圧縮することでファイル容量を減らし、通信時間を減らす仕組みです。送信するファイル容量が減ればそれだけ通信時間は短くなります。ユーザーは圧縮されたコンテンツファイルを展開して利用します。

通信のログを管理

通信のログを管理するというのは、リバースプロキシサーバーはユーザーとオリジンサーバーの間に入ってすべての通信を管理するので、通信の全体としてのログが取りやすく、通信履歴の管理がしやすくなるということです。

リクエストとレスポンスのバッファリング

リクエストとレスポンスのバッファリングについて解説します。通常リバースプロキシを設置しない場合、ユーザーがサーバーへコンテンツ配信のリクエストを送ってから、サーバーがコンテンツを作成してユーザーにレスポンスとしてコンテンツが届くまで、コンピューターのリソースはブロックされます。つまりコンテンツが届くまでCPUなどはブロックされ、他の処理ができません。つまりApacheなどで構成されたオリジンサーバーは一連の処理が終わるまでブロックされ他のことができなくなります

このときリバースプロキシサーバーとしてNginxを採用すると、ユーザーとサーバーの通信はリバースプロキシとユーザー間だけで行われるので、Apacheなどのオリジンサーバーはコンテンツを作成してリバースプロキシサーバーに渡すだけでよく、間にユーザーとの通信が入らない分、コンテンツ配信までの時間が短縮されます。もちろんNginxは一つの通信を行っている間に別のユーザーとの通信を担当することもできるので効率的です。

.htaccessの利用

.htaccessというのは、Webサーバーの基本的な動作を、ディレクトリ単位で制御するためのファイルです。このファイルによりリダイレクト処理(あるページへの訪問者を別のページへ自動で転送する)が可能となります。古いサイトを新しいサイトへ転送する際などに利用されます。

またBASIC認証という機能でページにユーザー名とパスワードの認証を付ける時にも使います。

さらにIPアドレスでページの閲覧を制限したりもできます。特定のPC(例えば社内のみ)にだけアクセスを許可させるような使い方ができます。

この.htaccessという仕組みはApacheでは使えますが、Nginxでは使えません。そこでサーバーの中核はApacheで処理して.htaccessを利用可能にしておき、リバースプロキシとしてNginxを採用することでApacheで従来やっていたことを利用可能にしつつ、リバースプロキシの利点も得ることができるようになるのです。

Nginxをリバースプロキシにしているレンタルサーバー

さくらのレンタルサーバ

さくらのレンタルサーバ

さくらのレンタルサーバはNginxをリバースプロキシにしていることが確実です。

2018年のリニューアル時に、モジュール版PHPの提供開始とともにnginxをリバースプロキシとした構成に全プランを変更いたしました。

さくらのナレッジ, さくらのレンタルサーバでWordPressサイトを高速に動かす方法。モジュール版PHPって何!?, 2019-05-15, 閲覧日2023-10-03.

さくらのレンタルサーバのプランは次のようになります。月額は12か月払いを12で割っています。

プランライトスタンダードプレミアム
月額165円550円1,430円
ディスク容量100GB300GB400GB
ストレージタイプSSDSSDSSD
転送量上限無制限無制限無制限
独自ドメイン20個200個300個
データベースなしMySQL 50個MySQL 100個
http/2
無料独自SSL Let’s Encrypt
バックアップなし8日※8日※
WebサーバーApacheApacheApache
リバースプロキシNginxNginxNginx
.htaccess
モジュール版PHP×
サポートチャット、メール、電話(コールバック予約)チャット、メール、電話(コールバック予約)チャット、メール、電話(コールバック予約)
※バックアップ&ステージング機能を利用する

WordPressが使えるのは基本的にスタンダードプランから。ディスク容量300GBのレンタルサーバーの中では比較的低価格で利用できます。複数ブログを一つのプランで運営することも可能で、そのときのコスパはかなり良いです。詳細は次の記事で解説しています。

リバースプロキシかは不明だがNginxを利用しているレンタルサーバー

リバースプロキシにNginxを使っているかはわかりませんが、Nginxを利用していることがわかっていて、.htaccessが利用可能なレンタルサーバーも紹介します。

Xserver

エックスサーバー

XserverはApacheとNginxを両方利用しています。(仕様一覧

また.htaccessが利用可能です。

とりえずレンタルサーバーはXserverにしておくと良いという話もよく聞きますね。Xserverは日本で一番利用されているレンタルサーバーです。日本のレンタルサーバーの利用率トップ3は次のようになります。

レンタルサーバーシェア
エックスサーバー14.68%
ロリポップ!14.15%
さくらのレンタルサーバ13.56%
参考:2023の日本でのウェブホスティングのマーケットシェア, 閲覧日:2023-09-25.
プランスタンダードプレミアムビジネス
ドメイン永久無料2つ2つ2つ
月額1,100円2,200円4,400円
ディスク容量300GB400GB500GB
ストレージタイプNVMe SSDNVMe SSDNVMe SSD
転送量上限無制限無制限無制限
独自ドメイン無制限無制限無制限
データベースMariaDB 無制限MariaDB 無制限MariaDB 無制限
http/2
無料独自SSL Let’s Encrypt
バックアップ自動14日自動14日自動14日
WebサーバーApache+NginxApache+NginxApache+Nginx
.htaccess
サポートチャット、メール、電話チャット、メール、電話チャット、メール、電話

ConoHa WING

ConoHa WING

ConoHa WINGはApacheとNginxのハイブリッドです。.htaccessが利用できます。(機能一覧

速さを全面に出しているレンタルサーバーです。サービス品質保証(SLA)を導入し、品質保証値はサーバーの月間稼働率99.99%以上としています。障害が少ないレンタルサーバーと言えますね。

プランベーシックスタンダードプレミアム
ドメイン永久無料2つ2つ2つ
月額1,089円2,360円4,719円
ディスク容量300GB400GB500GB
ストレージタイプSSDSSDSSD
転送量上限無制限無制限無制限
独自ドメイン無制限無制限無制限
データベースMySQL 無制限MySQL 無制限MySQL 無制限
http/2
無料独自SSL 「Let’s Encrypt」
バックアップ自動14日自動14日自動14日
WebサーバーApache + nginxApache + nginxApache + nginx
.htaccess
サポート電話、メール電話、メール電話、メール

シンレンタルサーバー

シンレンタルサーバー

シンレンタルサーバーはApacheとNginxのハイブリッドです。.htaccessは利用可能です。(サーバー仕様一覧

プランベーシックスタンダードプレミアムビジネス
ドメイン永久無料1つ1つ1つ1つ
月額880円1,780円3,560円7,120円
ディスク容量300GB400GB500GB600GB
ストレージタイプNVMe SSDNVMe SSDNVMe SSDNVMe SSD
転送量上限900GB/日1200GB/日1500GB/日1500GB/日
独自ドメイン無制限無制限無制限無制限
データベースMariaDB 無制限MariaDB 無制限MariaDB 無制限MariaDB
http/2
無料独自SSL Let’s Encrypt
バックアップ自動14日自動14日自動14日自動14日
WebサーバーApache+NginxApache+NginxApache+NginxApache+Nginx
.htaccess
サポート電話、メール電話、メール電話、メール電話、メール

スターサーバー

スターサーバー

スターサーバーはNginxを利用し、.htaccessが利用できます。(nginxについて

エックスサーバー系列のネットオウルという企業が運営し、格安系のレンタルサーバーになります。

ブログを一つだけ運営するならライトプランが安くておすすめです。エコノミープランはWordPressが使えません。

プランエコノミーライトスタンダードハイスピードエンタープライズ
月額138円275円550円825円2,200円
ディスク容量20GB160GB200GB320GB500GB
ストレージタイプSSDSSDSSDSSDSSD
転送量上限200GB/日500GB/日700GB/日900GB/日1200GB/日
独自ドメイン20個50個無制限無制限無制限
データベースなしMySQL 1個MySQL 50個MySQL 無制限MySQL 無制限
http/2
独自SSL Let’s Encrypt
バックアップなしなしなしなしなし
WebサーバーNginxNginxNginxNginxNginx
.htaccess
サポートメールメールメールメールメール

お名前.comレンタルサーバー

お名前.com

お名前.comレンタルサーバーでは、ApacheとNginxを利用しています。(特長

バックエンドでApacheとあるので、Nginxはリバースプロキシではないかと推測されますが、詳細は不明です。

プランは一つだけです。WEB高速化エンジン「WEXALM® Page Speed Technology」を搭載して速さを追及しています。またドメインが一つ無料でついてきます。そしてWordPress引っ越し機能も付いています。

月額1,078円
ディスク容量400GB
ストレージタイプSSD
転送量上限無制限
独自ドメイン無制限
データベース無制限
http/2
独自SSL アルファSSL
バックアップ自動14日間
WebサーバーApache+Nginx
.htaccess
サポートメール、電話

まとめ

今回はレンタルサーバーの構成としてオリジンサーバーにApache、リバースプロキシにNginxを採用するということはどういうことなのか、Nginxの解説から始めて、リバースプロキシそのものや、その利点を述べた後、Nginxをリバースプロキシにしているレンタルサーバーや、とにかくNginxを利用しているのが公開されているレンタルサーバーを紹介しました。

レンタルサーバー選びの一助となりましたら幸いです。

Nginxのリバースプロキシについて解説したよ

レンタルサーバー選びに関してはこちらも参考になるかもしれません。