v.20.12Improvement

Workaround for S3 and Nginx Proxy URL Handling Issue

Workaround for use S3 with nginx server as proxy. Nginx currenty does not accept urls with empty path like http://domain.com?delete, but vanilla aws-sdk-cpp produces this kind of urls. This commit uses patched aws-sdk-cpp version, which makes urls with "/" as path in this cases, like http://domain.com/?delete. #16709 (ianton-ru).
Workaround to enable S3 compatibility when using an nginx proxy by patching aws-sdk-cpp to include a "/" path in URLs with query parameters.

Why it matters

Nginx does not accept URLs with an empty path such as http://domain.com?delete, but the standard aws-sdk-cpp generates such URLs. This causes issues when using S3 with nginx as a proxy. The patched aws-sdk-cpp ensures URLs have a "/" path (e.g., http://domain.com/?delete), allowing proper handling of requests through nginx.

How to use it

The feature is applied by using the patched version of aws-sdk-cpp integrated into ClickHouse. Users do not need to change their configuration; the URLs generated for S3 requests will automatically include the "/" path when necessary to ensure compatibility with nginx proxies.