Alibaba CloudStatic-verified

A Static Site Whose Bucket Is Readable and Whose File List Is Not

An OSS bucket serving a static website. The ACL stays private and a bucket policy publishes the objects, because a public-read ACL also lets anyone list every file you ever put there. The website endpoint is plain HTTP on an Alibaba domain and no certificate can go on it, so serves_https is an output and it says false.

terraformAlt & Specialty Cloudsalicloud

Compare Static Site Hosting across clouds →

alicloud-static-sitevizier v1.2.0

Verification

Static-verified

Passed: validated and lint-clean (provider-schema-validated for AWS/Azure/GCP; Terraform-language lint elsewhere).

Conformance

  • Static validation (fmt · validate · tflint)
  • Security scan clean (Checkov)
  • Plan tests (mocked: validation rules · outputs)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live test pending (no cloud run yet)

Last verified 2026-09-15 · how we verify

Use it from the registry

terraform · opentofu
module "static_site" {
  source  = "www.iac-bazaar.com/iac-bazaar/alicloud-static-site/alicloud"
  version = "1.0.0"
}

Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.

Inputs & outputs

Create a free account to read this module's contract

The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.

A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.

Documentation

alicloud-static-site

A static website served from object storage on Alibaba Cloud OSS. Works with Terraform and OpenTofu (>= 1.6), alicloud provider >= 1.0, < 2.0.

The website endpoint is plain HTTP on an Alibaba domain and no certificate can be put on it. Your own domain over HTTPS means a CDN in front; serves_https says so out loud and cdn_origin is what you point it at.

The bucket ACL stays private and a policy publishes the objects. A public-read ACL on OSS also permits listing, which publishes the name of every file you ever uploaded. The generated policy allows oss:GetObject and nothing else.

The bucket ignores changes to its own policy field, because alicloud_oss_bucket and alicloud_oss_bucket_policy both own it and a plan that has both otherwise never settles. That is the provider's own instruction and it is rarely followed.

support_sub_dir is off in OSS by default, which makes /docs/ a 404 on output that every static site generator produces. On here.

There is no customer-master-key knob, on purpose. Reading a KMS-encrypted object needs kms:Decrypt and an anonymous reader holds no permissions, so a CMK here would not protect bytes that are published deliberately - it would stop the site being readable. The bucket is encrypted with the Alibaba-managed key, which the reader never sees.

Everything in the bucket is public, not only the files you think of as the site, so accept_public_content has to be set before the module will build it.

Verification

Static validation runs tofu fmt, init, validate, tflint and checkov. This module has not yet had a live test, so it is published as statically validated with its live test pending and does not carry the live-tested mark.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Usage

Related modules

Static validatedLive test pending

alicloud-fc-function

A Function Compute 3.0 function running as the RAM role you name, with internet access off (on by name), in your VPC when a vpc_config is given, logging every invocation to a Log Service project and logstore (none by name), with code fetched from an OSS object you uploaded. Memory, CPU, disk, timeout and instance concurrency are inputs.

View module
Static validatedLive test pending

alicloud-sae-application

A Serverless App Engine namespace and application with auto_config false, which makes the VPC, vSwitch and security group required rather than letting SAE create three resources that live in your account and nobody's Terraform. Two replicas so a deploy is not an outage, min_ready_instances set so a rollout is actually rolling, and typed liveness and readiness probes.

View module
Static validatedLive test pending

cloudflare-pages-project

Every branch pushed gets a public preview URL by default, the half-finished pricing page included; an environment variable is readable in the dashboard unless stored as a secret; and the production branch is whatever the repository's default was. Previews limited to the branches you list (every branch by name), each variable marked secret or plain, bindings per environment, and custom domains.

View module
Static validatedLive test pending

tencent-static-site

A COS bucket serving a static website. The public-read ACL that makes the objects readable also lets anyone list the bucket, and file_list_is_public says so; pass a bucket policy to publish the objects alone. redirect_all_requests_to on COS is a protocol rather than a hostname, which is why it is not exposed here.

View module
Static validatedLive test pending

huawei-static-site

An OBS bucket serving a static website, published by an OBS-format bucket policy rather than a public-read ACL, so the file list stays private. Encryption is off on purpose: every byte is published deliberately, and an anonymous reader holds no permission on your key, so a key of your own hides nothing and stops the site working.

View module
Static validatedLive test pending

scaleway-static-site

A Scaleway Object Storage bucket serving a static website. A bucket policy here is version 2023-04-17, not the AWS 2012-10-17 that every S3 example carries and Scaleway has deprecated, and the module checks which one you passed. Without a policy the public-read ACL also publishes the file list, which file_list_is_public reports.

View module