阿里云对象存储OSS支持绑定自定义域名和静态网站托管,您可以使用您的自有域名在OSS上托管您的网站。本文介绍如何使用自定义域名设置静态网站托管。

前提条件

  • 已完成自有域名的注册

    若未完成域名注册,您可以使用阿里云域名服务注册一个域名。本示例使用examplewebsite.com作为域名,实际使用中请使用您注册的域名替换此域名。

  • 已完成域名备案

    中国大陆地区需将域名备案后才可以绑定到Bucket上。

  • 已创建公共读的Bucket

    请参见创建存储空间的步骤创建Bucket。本示例以originbucket作为Bucket名。

步骤1:上传网页文件

配置静态网站托管前,我们需要先上传两个html的文件作为网站首页和默认404页面,另外还需要上传部分文件作为测试使用。

  1. 创建两个html格式的文件。一个文件用作网站首页,另一个文件用作网站的错误页面。
    本示例中将以以下内容创建两个简单的html文件:
    • 默认首页

      创建名为index.html的文件作为静态网站的默认首页,内容如下:

      <html>
         <head>
             <title>Hello OSS!</title>
             <meta charset="utf-8">
         </head>
         <body>
             <p>开始阿里云OSS托管</p>
             <p>这是索引页面</p>
         </body>
       </html>
    • 默认404页
      创建名为error.html的文件作为静态网站的默认404页面,内容如下:
      <html>
      <head>
         <title>Hello OSS!</title>
         <meta charset="utf-8">
      </head>
      <body>
         <p>这是404错误页面</p>
      </body>
      </html>
    说明 若您的存储空间为归档类型,需保证这两个文件为标准存储,或处于解冻状态,否则会导致静态网页无法被访问。
  2. 登录OSS管理控制台
  3. 在左侧存储空间列表中,单击目标存储空间。
  4. 单击文件管理 > 上传文件
  5. 上传文件对话框单击直接上传,选择刚创建的网页文件和一个123.jpg的图片文件。
  6. 待上传完成后,关闭上传任务对话框。

步骤2:配置静态网站托管

  1. 单击基础设置页签,找到静态页面区域。
  2. 单击设置,将index.html设置为默认首页;将error.html设置为默认404页
  3. 单击保存

步骤3:将自有域名绑定到Bucket

将自有域名examplewebsite.com绑定到Bucket。绑定完成后,您可以使用您的域名代替OSS分配的域名来访问Bucket。

  1. 单击域名管理 > 绑定用户域名
  2. 在弹出的绑定用户域名对话框,将申请的自定义域名填写在用户域名栏,并开启自动添加CNAME记录
    如果您的域名是非阿里云域名,需要手动添加CNAME记录
  3. 单击提交
说明 更多详情请参见绑定自定义域名

步骤4:(可选)使用阿里云CDN加速网站

您可以使用阿里云CDN改善网站性能。CDN让您的网站文件(如html、图像和视频)可供全球各地的数据中心(即边缘节点)使用。当访问者从您的网站请求文件时,CDN自动将请求重定向到最近边缘节点上的文件副本,因此下载速度要快于访问者从较远的数据中心请求内容。配置CDN加速请参见绑定CDN加速域名

CDN在边缘节点缓存内容的时间长度由您指定。如果访问者请求的内容的缓存时间超过了到期日期,CDN会检查源服务器,看看是否有新版本的内容可用。如果有新版本,CDN将新版本复制到边缘节点。您对原始内容所做的更改会在访问者请求内容时复制到边缘节点。但在到期日期前,内容仍为之前的版本。建议打开CDN缓存自动刷新开关,以便您对原始内容所做的更改可以在CDN缓存中自动实时刷新。

步骤5:测试网站

要验证网站是否正常运行,请在浏览器中尝试以下URL:

URL 结果
http://examplewebsite.com 显示originbucket的默认首页。
访问originbucket中存在的文件,如http://examplewebsite.com/123.jpg 显示123.jpg的内容。
访问originbucket中不存在的文件的URL,例如http://examplewebsite.com/abc 显示originbucket的默认404页面。
说明 某些情况下,可能需要清除Web浏览器的缓存才能看到预期行为。