- 新しい順
- 投票が多い順
- コメントが多い順
以下のブログが参考になると思います。
CloudFront-Viewer-Addressヘッダーを使用すれば見れるようになります。
https://dev.classmethod.jp/articles/amazon-cloudfront-client-ip-address-connection-port-header/
https://tech.medpeer.co.jp/entry/cloudfront_viewer_address
WAF→CloudFront→ALB→EC2の構成で、EC2へ投稿を行ったユーザーのREMOTE_PORTを取得するには、ALBの「クライアントポートの保持」設定だけでは不十分です。この構成では、CloudFrontがリクエストを中継するため、追加の設定が必要です。
以下の手順を実施することで、オリジナルのクライアントポート情報を保持できます:
-
CloudFrontの設定: CloudFrontでカスタムヘッダーを追加し、オリジナルのクライアント情報を転送するように設定します。具体的には、X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-Portヘッダーを追加し、ALBに転送するようにします。
-
ALBの設定: ALBで「クライアントポートの保持」を有効にすることに加えて、CloudFrontからのカスタムヘッダーを信頼するように設定します。
-
EC2インスタンスの設定: EC2インスタンス上のアプリケーションで、X-Forwarded-Portヘッダーを読み取るように設定します。このヘッダーにオリジナルのクライアントポートが含まれています。
-
セキュリティグループの設定: ALBのセキュリティグループで、CloudFrontのIPアドレス範囲からの通信のみを許可するように設定します。これにより、CloudFrontを経由しない直接のアクセスを防ぎ、正確なクライアント情報を維持できます。
これらの設定を適切に行うことで、WAF→CloudFront→ALB→EC2の構成でも、オリジナルのクライアントのREMOTE_PORTを正確に取得することが可能になります。
Sources
WAF on ALB or CloudFront ? | AWS re:Post
AWS Application Load Balancer announces CloudFront integration with built-in WAF - AWS
関連するコンテンツ
- AWS公式更新しました 2年前
- AWS公式更新しました 7ヶ月前
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前