Chromeでstrict MIME type checking
を無効にする方法はありますか。
実際、クロスドメインでJSONPリクエストを行っています。 Firefoxでは正常に動作しますが、chromeを使用しているときにコンソールでエラーが発生します。
' https://example.com 'からのスクリプトの実行を拒否しました。MIMEタイプ( 'text/plain')が実行可能ではなく、厳密なMIMEタイプチェックが有効になっているためです。
Mozillaで完全に動作します。問題はchromeでのみ発生します
リクエストのレスポンスヘッダーは次のとおりです。
Cache-Control:no-cache, no-store
Connection:Keep-Alive
Content-Length:29303
Content-Type:text/plain;charset=ISO-8859-1
Date: xxxx
Expires:-1
Keep-Alive:timeout=5
max-age:Thu, 01 Jan 1970 00:00:00 GMT
pragma:no-cache
Set-Cookie:xxxx
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options:nosniff
X-Frame-Options:SAMEORIGIN
私が考えていることの回避策:content-typeをapplication/javascript
に外部設定する
私の場合、X-Content-Type-Options
on nginx
をオフにすると正常に動作します。ただし、これによりセキュリティレベルが少し低下することを確認してください。一時的に修正されます。
# Not work
add_header X-Content-Type-Options nosniff;
# OK (comment out)
#add_header X-Content-Type-Options nosniff;
Apacheでも同じです。
<IfModule mod_headers.c>
#Header set X-Content-Type-Options nosniff
</IfModule>
また同じ問題が一度ありました
問題を解決できない場合は、コマンドラインで次のコマンドを実行できますchrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
注:Chromeのインストールパスに移動する必要があります。
例:cd C:\Program Files\Google\Chrome\Application
開発者セッションchromeブラウザーが開きます。新しいchromeブラウズでアプリを起動できます。
これが役立つことを願っています