LoginSignup
0
1

More than 1 year has passed since last update.

ASP.NETでAPI作ったら`net::ERR_FAILED 307`に悩まされた話

Posted at

はじめに

ASP/NET CoreでAPI開発の勉強をしていたら、net::ERR_FAILED 307エラーが出て上手くいかなかったので、解決方法を備忘録代わりに記載します。

やったことと起きたこと

.NET CoreでAPI開発をしていて、コンテナ化するためにリクエストURLをhttp://*:5000にしたかったのでUseUrls(http://*:5000)を使用してURLの指定を行いました。フロントからAPIをたたくと、画像のようにCORSのエラーが出てしまい、APIをたたけない状態になってしまいました、、、

image.png

調べてみた

私がこの問題に直面した際の状況は以下の通りです。

  • バックエンド側では下記のコードでCORSの設定を記載済み
 services.AddCors(options =>
            {
                options.AddPolicy(name: "myAllowCrossOrigin", policy =>
                 {
                     policy.AllowAnyOrigin();
                     policy.AllowAnyHeader();
                     policy.AllowAnyMethod();
                 });
            });

/* Configure()内 */
app.UseCors("myAllowCrossOrigin");
  • UseUrls()を使用する前はCORSエラーが出ずにレスポンスが返ってきていた

エラーを出したリクエストを見てみると、https://localhost:5001にリダイレクトしているようでした。

image.png

解決方法

この問題は、StartUp.cs内からapp.UseHttpsRedirection();を削除することで解決しました!
公式によると、このメソッドにより、HTTPからのリクエストを拒否するそうです、、
今回はローカルでの個人的な開発だったのでhttpで行っていたのですが、盲点でした、、

API プロジェクトでは、UseHttpsRedirection を使用して HTTPS に要求をリダイレクトするのではなく、HTTP 要求を拒否できます。

さいごに

まだまだ.NET初心者なので、わからない点がたくさんありました、、
エラーログは細かく見るべきだと学びました。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1