Hi, I self-hosted phabricator on my machine and used AWS S3 compatible storage service (Aliyun OSS service) to store uploaded data.
Unfortunately, Aliyun OSS service only support S3 virtual-hosted style request, but phabricator hard-coded S3 request to use path-style request, which makes the phabricator s3 requests fail without modifying source code, namely
src/applications/files/engine/PhabricatorS3FileStorageEngine.php in phabricator project. Changes I made is
L167: ->setEndpoint($this->getBucketName().'.'.$endpoint) L168: ->setBucket('');
This forms the request url as
Most importantly, AWS plans to deprecate path-style request on September 30, 2020, and prefers virtual-hosted style.
Original Plan – Support for the path-style model ends on September 30, 2020.
Revised Plan – Support for the path-style model continues for buckets created on or before September 30, 2020. Buckets created after that date must be referenced using the virtual-hosted model.
So, will phabricator plan to use virtual-hosted style s3 request recently? Or at least provide a configuration option to switch between path-style and virtual-hosted style.