序文 403 クロスオリジン エラーが発生し 1. 解決策 Nginx 構成ファイルで次のパラメータを設定する必要があります。 位置 / { アクセス制御許可オリジン * のヘッダーを追加します。 add_header アクセス制御許可メソッド 'GET、POST、OPTIONS'; add_header Access-Control-Allow-Headers 'DNT、X-Mx-ReqToken、Keep-Alive、User-Agent、X-Requested-With、If-Modified-Since、Cache-Control、Content-Type、Authorization'; $request_method = 'OPTIONS'の場合{ 204を返します。 } } 上記の設定コードで問題を解決できます。詳しく学習したくない場合は、ここを読んでください =-= II. 説明 1. アクセス制御許可オリジン デフォルトでは、サーバーはドメインを越えることはできません。 Nginx サーバーに `Access-Control-Allow-Origin *` を設定すると、サーバーはすべてのリクエスト ソース (Origin) を受け入れることができる、つまりすべてのクロスドメイン リクエストを受け入れることができるようになります。 2. Access-Control-Allow-Headers は次のエラーを防ぐためのものです。
このエラーは、現在のリクエストの Content-Type の値がサポートされていないことを示します。実際、これは私たちが開始した「application/json」タイプのリクエストによって発生しました。ここでは、プリフライト リクエストという概念が関係しています。以下の「プリフライト リクエスト」の概要を参照してください。 3. Access-Control-Allow-Methods は、次のエラーを防ぐためのものです。
4. OPTIONSに204レスポンスを追加するのは、POSTリクエストを送信してもNginxがアクセスを拒否するというエラーを処理するためです。 「プリフライトリクエスト」を送信する場合、メソッド OPTIONS が必要となるため、サーバーはこのメソッドを許可する必要があります。 3. 事前リクエスト 実際、上記の構成には W3C 標準である CROS (正式名称は Cross-origin resource sharing) が関係しており、これはクロスオリジン リクエストを解決するために提案されました。
実際、Content-Type フィールド タイプが application/json であるリクエストは、上記の特定の MIME タイプを持つ POST リクエストです。CORS によると、次の MIME タイプに属さない Content-Type は事前チェック リクエストです。
したがって、application/json リクエストは、正式な通信の前に「事前チェック」リクエストを追加します。この「事前チェック」リクエストは、ヘッダー情報 Access-Control-Request-Headers: Content-Type: を伝達します。 オプション /api/test HTTP/1.1 出典: http://foo.example アクセス制御リクエストメソッド: POST アクセス制御リクエストヘッダー: コンテンツタイプ ...一部省略 サーバーが応答したときに、返されたヘッダー情報に Access-Control-Allow-Headers: Content-Type が含まれていない場合は、デフォルト以外の Content-Type が受け入れられないことを意味します。次のエラーが発生します:
参考記事:
要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
>>: mysqld_multi を使用して単一のマシンに複数のインスタンスをデプロイする方法に関する MySQL チュートリアル
この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にス...
Web ページやフォームを設計するたびに、さまざまなブラウザ、特に IE ファミリの互換性の問題に悩...
序文MySQL 8.0 より前は、Oracle、SQL SERVER、PostgreSQL などの他...
1. リポジトリイメージをダウンロードする docker プルレジストリ 2. プライベートウェアハ...
クラスターを構成する際に問題が発生しました。当初は 3 台の仮想マシンすべてが外部ネットワークに p...
序文公式アカウントのQRコードは長押しで認識できることは皆さんご存じですが、ミニプログラムに対する制...
1. タイプの導入1.1 ドメインベースの仮想ホスティングいわゆるドメイン名ベースの仮想ホストとは、...
概要バックグラウンド管理システムには多くのフォーム要件があります。データをjson 形式で書き込み、...
目次jupyterをインストールするDocker ポートマッピングjupyterをインストールするp...
目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...
序文データベースは常に私の弱点でした。自分の経験 (python+sqlalchemy) を組み合わ...
1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...
g++ を使用して初めて cpp ファイルをコンパイルしたとき、未定義の参照エラーが報告されました。...
目次1. トリガーの紹介1. トリガーとは何ですか? 2. トリガーの特徴2. トリガーを作成する1...
目次スプリングブートDocker spring-boot-maven-プラグインSpotify Ma...