AWSで静的なWebサイトをホストしたいので、自分のプロジェクトを自分のコンピュータに構築します。これは角度のあるプロジェクトです。dist /ディレクトリには、アップロードする必要があるすべてのファイルが含まれています。私は、登録されたホスト名に応じて特定のバケットを持っています。S3 Webホスティングが私を未処理の場所にリダイレクトするのはなぜですか?
アマゾンのチュートリアルでは、私のS3バケットに自分のDNS名をリンクするようにルート53を設定しました。
私はS3をウェブホストに設定しましたが、ACLはうまくいきました。パーミッションとCORSアクセス、およびリダイレクションルールは "#/"を取り除きました。 待ち時間が30分ほど続くと、登録されたDNS名に接続して、「myexample.com」と言うと、私のウェブサイトを見ることができます。
今、時間が飛んで、私はすべてを変えたい。バケツ内のすべてのデータを削除し、他のウェブサイトファイルを内部に配置します。
ここで問題が始まります: 'myexample.com'に行くと、奇妙なURLにリダイレクトされます: "pictureStatic /#/" これは奇妙なことですが、実際に自分のコンピュータ上のリポジトリの名前です。以前のホストされたWebサイトのため、S3バケットの「リダイレクションルール」設定で使用した名前でもあります。だから私はリダイレクションルールを削除しますが、リダイレクトはそのままです。 私のリダイレクションルール: 「ホスト名」:「PictureStatic」 「プロトコル」:「HTTP」 「ReplaceKeyPrefixWith」:「#/」
は私がルート53の問題か、そのようなことを考えるので、私は再
私のファイルを別のディレクトリにある自分のコンピュータにコピーして、どこでも「ピクュアスタティック」な言葉を取り除きます。 私のプロジェクトをビルドします ビルドされたファイルを別のテストバケットにアップロードし、それをウェブホストに設定します。私はルート53エリアにリンクしていませんが、代わりに私はバケットへの直接URLを使用します:私のウェブサイトは完璧に動作します
私のバケット "myexample.com"私のテストバケットと全く同じ設定で、バケットのパーミッションが設定されていることを除いて、最初から作成してください。
CORSがある:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>GET</ExposeHeader>
<ExposeHeader>PUT</ExposeHeader>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
ACLは次のとおりです。読み出し対象の全員/許可オブジェクト
権限は次のとおりです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::myexample.com/*"
}
]
}
私はその後、私のバケットにアクセスしたいときroute53なしで直接アクセスできるので、via: myexample.com.s3-website-MyRegion.amazonaws.com
他のテストバケットが同じ動作でうまく動作しても、私はまだ私の古い "pictureStatic /#/"にリダイレクトされます。
私はこのリダイレクトを取り除く方法を理解していません。ルート53は私のテストでは使われていないので、 "myexample.com"という名前のバケツを修正する必要があります。そうでなければ、私は登録されたDNS名をもう使用しません。ルート53は、同じ名前。
テストバケットにリダイレクトするバケット「myexample.com」を設定しようとしましたが、何も変更されませんでした。
誰かがこのリダイレクトの理由を考えてください。
AngularJsはここにあります。 – Ved
確かに。それは角度のあるプロジェクトですが、そこにタグを付けるのは無駄です。タグが削除されました –