プロキシサーバー構成

プロキシサーバーを使用する場合は、アプリケーションが正しく構成されていることを確認することが重要です。例: 多くのアプリケーションには、example.com/ (英語) のリクエストに応答するロードバランサがあり、192.168.1:8080 (英語) のアプリケーションサーバーにリクエストを転送します。適切に構成しないと、アプリケーションサーバーはロードバランサが存在することを認識せず、クライアントから 192.168.1:8080 (英語) がリクエストされたかのようにリクエストを処理します。

これを修正するには、RFC 7239 [IETF] (英語) を使用して、ロードバランサーが使用されていることを指定します。アプリケーションがこれを認識できるようにするには、X-Forwarded ヘッダーを認識するようにアプリケーションサーバーを構成する必要があります。たとえば、Tomcat は RemoteIpValve [Apache] (英語) を使用し、Jetty は ForwardedRequestCustomizer (英語) を使用します。または、Spring 4.3+ ユーザーは ForwardedHeaderFilter [GitHub] (英語) を活用できます。

Spring Boot ユーザーは、server.use-forward-headers プロパティを使用してアプリケーションを構成できます。詳細については、Spring Boot ドキュメントを参照してください。