静态网站托管
应用场景
OBS服务允许在桶上托管静态网站,支持索引页、错误页展示和页面跳转。您可以将静态网站文件上传至OBS的桶中,并对这些文件赋予匿名用户可读权限,然后将该桶配置成静态网站托管模式,就可以实现在OBS上托管静态网站了。
操作步骤
- 创建OBS存储桶,并配置静态网站托管。
- 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。
resource "huaweicloud_obs_bucket" "mywebsite" { bucket = "mywebsite" website { index_document = "index.html" error_document = "error.html" } }
- 运行 terraform init 进行初始化。
- 运行 terraform plan 查看资源。
- 确认资源无误后,运行 terraform apply 开始创建。
- 运行 terraform show 可以查看已创建的OBS桶。
- 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。
- 配置桶策略,允许匿名用户访问对象。
在main.tf文件中,输入以下内容:
# granting the Read-Only permission to anonymous users resource "huaweicloud_obs_bucket_policy" "policy" { bucket = huaweicloud_obs_bucket.mywebsite.bucket policy = <<POLICY { "Statement": [ { "Sid": "AddPerm", "Effect": "Allow", "Principal": {"ID": "*"}, "Action": ["GetObject"], "Resource": "mywebsite/*" } ] } POLICY }
- 上传静态网站文件。
- 在当前目录下编辑index.html和error.html文件。
- 在main.tf文件,输入以下内容,将文件上传至OBS桶。
# put index.html resource "huaweicloud_obs_bucket_object" "index" { bucket = huaweicloud_obs_bucket.mywebsite.bucket key = "index.html" source = "index.html" } # put error.html resource "huaweicloud_obs_bucket_object" "error" { bucket = huaweicloud_obs_bucket.mywebsite.bucket key = "error.html" source = "error.html" }
- 运行 terraform plan 查看资源。
- 确认资源无误后,运行 terraform apply 开始上传。
- 结果验证。
通过浏览器访问 https://mywebsite.obs-website.cn-north-4.myhuaweicloud.com,即可访问index.html。这里mywebsite为OBS桶名称,cn-north-4为存储桶所属的region。
资源名称 |
参数名称 |
参数说明 |
|
---|---|---|---|
huaweicloud_obs_bucket |
bucket |
(必填)OBS存储桶名称
|
|
website |
index_document |
(必填)访问静态网站时返回的索引页面,即首页。 |
|
error_document |
(可选)当访问错误的静态网站路径时,返回的404错误页面。 |
||
routing_rules |
(可选)静态网站重定向规则 |
||
huaweicloud_obs_bucket_policy |
bucket |
(必填)存储桶名称 |
|
policy_format |
(可选)策略格式,支持obs和s3两种类型格式,默认为obs类型 |
||
policy |
(必填)策略内容,请参考Policy格式 |
||
huaweicloud_obs_bucket_object |
bucket |
(必填)存储桶名称 |
|
key |
(必填)对象名称 |
||
source |
(可选)待上传对象的源文件路径 |
后续操作
您可以将自己的域名与OBS桶访问域名进行绑定,可以实现通过自定义域名访问存储在OBS中的文件。同时也可以配置CDN服务实现加速功能。请参考使用自定义域名托管静态网站。