Atul Verma
Atul Verma

Reputation: 1

Google Cloud Application Load Balancer - HTTP/2 Request Path Validation Issue

Recently received an email from Google Cloud regarding an upcoming change to the Classic Application Load Balancer that will take effect from March 31, 2025. According to the email, HTTP/2 request path validation will be updated to more strictly adhere to the URI specification. This means that requests with invalid characters in the request path will be rejected with a 400 - invalid_http2_client_request_path error.

Here is the email I received for reference:

Hello Application Load Balancer Customer,

We're writing to remind you of an upcoming change to the Classic Application Load Balancer impacting your projects starting March 31, 2025. The load balancer HTTP/2 implementation is being changed to improve request path validation to more strictly adhere to the URI specification.

We have put together some resources to help you understand the upcoming changes.

What you need to know

Starting March 31, 2025, we will begin rejecting all HTTP/2 requests if the path contains a character that isn't one of the following:

An allowed ASCII character specified in RFC 3986, sections 3.3 and 3.4.

One of the following special allowed characters: [ ] { } | ^ \

Note: All other characters must be properly URL-encoded.

What you need to do

We encourage you to review your existing traffic to ensure requests are using valid characters in the request path.

If the request path contains invalid characters, the request will be rejected with the following response details:

Response code: 400

Status detail: invalid_http2_client_request_path

For more information on the failure response codes, please review the status Details HTTP failure messages documentation.

We’re here to help

You can refer to the following resources for more information on the HTTP specification:

[URI Path Specification]

[URI Query Specification]

Your affected projects are listed below:

production-application

Thanks for choosing Application Load Balancer.


What I Have Understood So Far :-

What I Have Tried

Checked Logs: I reviewed my logs to identify any requests that might contain invalid characters.

Read Documentation: I referred to Google Cloud’s documentation on failure response codes and HTTP specifications but still need more clarity on how to fix this issue in my application.

My Questions

  1. How can I identify which specific requests are causing issues?
  1. What are the exact set of characters that need to be URL-encoded?
  1. How should I handle this update in my application?
  1. Has anyone else faced this issue and how did you resolve it?

My affected project is production-application, but I assume this update applies to all Classic Application Load Balancers using HTTP/2.

Upvotes: -1

Views: 41

Answers (0)

Related Questions