如何在Amazon S3中的对象上更改http响应代码

汤姆

我有一个托管在Amazon S3上的网页,但我不希望http响应代码为200该页面是一个维护页面,当我关闭主要网站进行维护时,会将流量重定向到该页面。

我希望Amazon S3页面包括以下内容的响应标头:

HTTP/1.1 503 Service unavailable

Amazon提供了向S3对象添加一些元数据的功能,但是http状态代码没有任何内容。

是否有可能?

汤姆

在Amazon允许来自S3的自定义状态代码之前,这是使用nginx的一种解决方法。

我们监视是否存在特定文件,该文件充当维护模式的“ ON开关”。如果找到,我们proxy_pass将向S3请求-技巧是return 503将503状态代码的处理但重定向到nginx“命名位置”。

示例nginx conf文件(仅显示相关位):

server {

    ...

    # Redirect processing of 503 status codes to a nginx "named location".
    error_page 503 @maintenance;

    # "Maintenance Mode" is off by default - Use a nginx variable to track state.
    set $maintenance off;

    # Switch on "Maintenance Mode" if a certain file exists.
    if (-f /var/www/app/maintenanceON) {
        set $maintenance on;
    }

    if ($maintenance = on) {
        # For Maintenance mode Google recommend using status code: "503 Service unavailable".
        return 503;
    }

    ...

    location @maintenance {
        # Redirect the request to a static maintenance page hosted in Amazon S3.
        # Note: Use proxy_pass instead of rewrite so we keep the 503 code (otherwise nginx serves a 302 code)
        rewrite ^(.*)$ /index.html break;
        proxy_pass http://bucketname.s3-website-us-east-1.amazonaws.com;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Amazon S3中的对象上更改http响应代码

来自分类Dev

如何在Amazon S3上使用cloudflare?

来自分类Dev

如何在Amazon S3上安全存储图像

来自分类Dev

如何在Amazon S3上使用cloudflare?

来自分类Dev

如何在我的pyspark代码中访问S3中的Amazon kinesis流文件?

来自分类Dev

如何在Rails中的amazon s3中获取对象的键?

来自分类Dev

我如何在Amazon S3中更改存储桶的策略条件

来自分类Dev

如何在本地配置/安装Amazon S3

来自分类Dev

如何在本地配置/安装Amazon S3

来自分类Dev

如何在 Amazon S3 上托管 JSON 文件

来自分类Dev

如何在Amazon Linux上安装OpenCV?

来自分类Dev

如何在Amazon API中恢复购买?

来自分类Dev

如何在Amazon Glacier中列出档案?

来自分类Dev

如何在Amazon EMR中安装sqoop?

来自分类Dev

如何在Amazon S3存储桶上设置公共只读访问权限?

来自分类Dev

如何在MySQL中存储图像并链接到Amazon S3中的照片?

来自分类常见问题

如何在Amazon S3中重命名文件和文件夹?

来自分类Dev

我如何在Amazon S3中读取文件的内容

来自分类Dev

如何在Amazon S3存储桶中的特定目录上仅允许PutObject权限

来自分类Dev

如何在Amazon S3存储桶中创建新文件夹?

来自分类Dev

如何在Amazon EMR上查找Spark Master URL

来自分类Dev

如何在Amazon EC2上提交长期工作?

来自分类Dev

如何在Amazon EC2上创建子域?

来自分类Dev

如何在Amazon Elastic Beanstalk上安装PHP IMAP扩展

来自分类Dev

如何在Amazon Linux Disto上安装Nginx 1.9.15

来自分类Dev

如何在Amazon EC2实例上安装jq

来自分类Dev

如何在Amazon AWS EC2上安装GUI

来自分类Dev

如何在Firefox 49上观看Netflix / Amazon视频?

来自分类Dev

如何在Amazon Linux系统上安装RPM密钥?

Related 相关文章

热门标签

归档