Make組ブログ

Python、Webサービスや製品開発、ライブラリー開発についてhirokikyが書きます

S3で302リダイレクトをする(301リダイレクトでなく)

AWSのS3でリダイレクトの設定ができます。

例えば https://hirokiky.org/ 以下へのアクセスをすべて https://blog.hirokiky.org/ にリダイレクトするなどです。

簡単な設定(301リダイレクト)

S3の親切な設定を使うと簡単に設定できるのですが、 301リダイレクトになります

バケットProperties => Static website hosting => Redirect requests で簡単に設定できます(以下の画像のように)。

f:id:hirokiky:20180123173128p:plain

302リダイレクトする設定

代わりに Use this bucket to host a website という静的サイト配信用の設定から 302 リダイレクトを設定できます。

この RedirectionRules を設定することで 302 リダイレクトができます。 以下の設定は https://blog.hirokiky.org/302 リダイレクトする設定になります。

f:id:hirokiky:20180123173159p:plain

XMLの内容は以下です。

<RoutingRules>
    <RoutingRule>
        <Redirect> 
            <HostName>blog.hirokiky.org</HostName>
            <ReplaceKeyWith></ReplaceKeyWith>
            <Protocol>https</Protocol>
            <HttpRedirectCode>302</HttpRedirectCode>
        </Redirect>
    </RoutingRule>
</RoutingRules>

index document の設定はテキトウに index.html などで良いです。

他にもオプションを指定できるようなので、以下から参照してください。

docs.aws.amazon.com

簡単な設定はこのオプションの設定をラップしているんですかね。 ともあれ色々設定もできて便利です。