リバースプロキシとは、クライアントからのリクエストを受け取り、背後にある 1 台以上のサーバーに転送して応答を返す中間サーバーである。クライアントはリバースプロキシとだけ通信し、背後のサーバーの存在を意識しない。Nginx、HAProxy、Envoy などが代表的な実装だ。RFC 9110 は、ゲートウェイ (別名リバースプロキシ) を、外向きの接続に対しては配信元のサーバーとして振る舞い、受け取ったリクエストを変換して内側の 1 台以上のサーバーへ転送する仲介者と定義している。
リバースプロキシの主な機能には次のものがある。第一に SSL/TLS 終端で、暗号化 / 復号処理をプロキシに集約しバックエンドの負荷を軽減する。第二に負荷分散で、複数のバックエンドサーバーにリクエストを分配し可用性を高める。第三にキャッシュで、静的コンテンツや頻繁にアクセスされるレスポンスを保持しバックエンドへのリクエストを削減する。第四にセキュリティで、バックエンドサーバーの IP アドレスを隠蔽し、WAF 機能や DDoS 対策を実装する。
短縮 URL サービスのアーキテクチャでも、リバースプロキシが使われる。大量のリダイレクトリクエストを処理するため、Nginx でリクエストを受け付け、キャッシュ層で頻出する短縮 URL のリダイレクト先を保持し、キャッシュミス時のみバックエンドのデータベースに問い合わせる構成がその一例だ。
リバースプロキシの設定で注意すべき点は、X-Forwarded-For ヘッダーの適切な処理である。短縮 URL サービスではクリック元の IP アドレスを記録するため、プロキシがクライアントの実 IP をバックエンドに伝える設定が要る。MDN は、信頼できるプロキシが付けたもの以外の X-Forwarded-For の IP アドレスは偽装されている場合があると注意している (2025 年 7 月時点)。また HTTP/2 や HTTP/3 への対応、接続のキープアライブ設定、タイムアウト値の調整など、高トラフィック環境でのチューニングも性能に関わる。