全部产品
对象存储 OSS

静态网站托管

更新时间:2017-07-13 20:10:02   分享:   

用户可以基于OSS搭建一个静态网站。本文介绍了如何从申请域名开始,基于OSS搭建一个简单的静态网站。主要的步骤是:

  1. 申请一个域名。
  2. 开通OSS并创建Bucket。
  3. 开通OSS的静态网站托管功能。
  4. 使用自定义域名访问OSS。

最后本文会介绍一些常见的问题。

静态网站托管功能介绍

简单说就是用户可以基于OSS搭建一个简单的静态网页。用户开启此功能后,OSS提供了一个默认的首页和默认的404页面功能。具体参见开发人员指南中静态网站托管的介绍。

具体实现步骤

步骤一:申请域名

本文的域名是从万网购买的,申请了一个leo23.xyz的域名。
如果需要更多域名方面的帮助,请参见 http://wanwang.aliyun.com/

步骤二:开通OSS并创建Bucket

  1. 登录OSS控制台,创建一个Bucket为imgleo23,创建在上海,Endpoint为oss-cn-shanghai.aliyuncs.com。操作步骤请参见 创建存储空间

  2. 将Bucket的权限设置为公共读。操作步骤请参见 设置存储空间读写权限

  3. 上传index.html、error.html、aliyun-logo.png 文件。操作步骤请参见 上传文件

    • index.html 的内容为:

      1. <html>
      2. <head>
      3. <title>Hello OSS!</title>
      4. <meta charset="utf-8">
      5. </head>
      6. <body>
      7. <p>欢迎使用OSS静态网站的功能</p>
      8. <p>这是首页</p>
      9. </body>
      10. </html>
    • error.html 的内容为:

      1. <html>
      2. <head>
      3. <title>Hello OSS!</title>
      4. <meta charset="utf-8">
      5. </head>
      6. <body>
      7. <p>这是OSS静态网站托管的错误首页</p>
      8. </body>
      9. </html>
    • aliyun-logo.png 是一张图片。

步骤三:开通OSS的静态网站托管功能

如下图所示,登录控制台后,将 默认首页 设置为上文中的 index.html,将 默认404页 设置为上文中的 error.html。具体操作请参见 设置静态网站托管

静态网页

检验静态网站托管功能,输入如图所示的URL地址:

  • 显示默认的首页

    可以看到输入类似URL的时候,会显示开通时指定的index.html中的内容。

  • 显示默认的404页

    可以看到输入的URL没有对应的文件时,会显示开通时指定的error.html中的内容。

  • 显示正常的文件

    可以看到输入的URL有对应的文件时,会读取成功。

这里可能会出现一个问题,就是用户发现实际使用中,浏览器的行为是下载,而不是直接在浏览器上展示。这是OSS的行为。与用户无关。如果需要在浏览器中直接显示,需要用户用自定义域名的方式来使用静态网站功能。

步骤四:使用自定义域名访问 OSS

开发人员指南中的自定义域名访问 OSS有介绍如何实现自定义域名访问 OSS,这里不多说。直接来看最后的效果。

  • 显示默认的首页

  • 显示默认的404页

  • 显示正常的文件

这样一个简单的静态网站就实现了。

常见问题及解决方案

  • 为什么我设置的静态网站托管网页是直接下载的?静态html网页通过url访问为下载不是浏览?怎么解决?

    由于国内互联网访问的备案制度,OSS默认的行为会变成下载。这个时候需要用户改用自定义域名访问 OSS

  • OSS静态网站托管对客户来说有什么好处?

    在用户需求比较简单的时候,且访问量比较小的时候,可以省掉一台ECS。如果访问量大一点,可以考虑结合CDN来使用。

  • 价格怎么样?如何和CDN结合?

    价格可以参考官方网站OSS的价格,CDN的价格也可以参考官方网站CND的价格,官网地址www.aliyun.com。和CDN结合的例子可以参考CDN加速OSS实践

  • 默认的首页和默认的404页面都需要设置吗?

    默认首页需要设置,但默认404页面可以不用设置。

  • 为什么输入的URL在浏览器上返回403?

    有可能Bucket的权限不是公开读。也有可能是因为欠费被停止使用。

本文导读目录
本文导读目录
以上内容是否对您有帮助?