技術

[AWS S3] This XML file does not appear to have any style information associated with it. The document tree is shown below.

投稿日:

はじめまして。田中です。

AWSを触りはじめてから1ヶ月ちょっと。七転び八起きなんとか頑張ってます。
先日こんなエラーにぶつかりました。

エラー内容

This XML file does not appear to have any style information associated with it. The document tree is shown below.

Access Denied Access Denied……(2回怒られてる)
そんなに怒んないでもいいじゃん……。

S3に保存してある画像やpdfを閲覧したいのですが、コイツのせいで見ることができません。
そのくせPCのChromeだけは見れたり、でもスマホじゃ見れなかったり……。

困り果てた田中、先輩方に相談です。

解決方法

濁点が悪さしてるんじゃないか?

URIにサロゲートペア合字(か+ ゛)を持つリソースが参照されている場合、これ以外の大多数のブラウザは単一の文字(が)に正規化してエンコードして解釈するようです。

特定の条件を満たすSafariにはこの処理が行われず、一見同じURIにアクセスしているように見えても、サーバから見ると別のURIへのアクセスになっています。

※引用元はこちら

試しにファイル名を英字にしたところ、Access Deniedが出なくなり、画像が表示されるようになりました! よかったー!

「ダ」=「タ」+濁点
みたいに濁点も一文字としてエンコードされちゃうってことみたい?

わかりやすいように日本語ファイル名にしてましたが、そのおかげでわかりにくいエラーにぶち当たる結果になってしまってました。

AWS八転び九起き目、一生懸命頑張ります。

参考サイト

https://discussionsjapan.apple.com/thread/10183571

https://teratail.com/questions/17715

 

-技術
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

【Rails】deviseを日本語化する

こんばんは railsでログイン機能を作る時にdeviseを使う方は多いのではな …

GooglePlayConsoleで「製品版として公開を開始」がグレーアウトして押せない!

こんにちは。田中です。 携わっていたアプリ開発案件ですが、ついに最初のリリースが …

no image

【Angular6】Angularで子コンポーネントから親コンポーネントのメソッドを呼び出す

Angularでアプリを作っている時、子コンポーネントから親コンポーネントのメソ …

wgetコマンドで指定のサイトをダウンロードしてみる。

wgetコマンドって? 下記の形式のコマンドを叩くと、指定のURLからファイルを …

no image

auto_incrementの値を確認して変更

こんにちは、コーテッグのこやまです。 railsとmysqlを使っていて、自動で …