Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので、ここでまとめておきます。

この記事では、Ngnx を使用してクロスドメインの問題を解決する方法についてのみ説明し、原則については説明しません。

1. まず、Windows環境でのNignxの関連コマンド操作を紹介します。

一般的な nginx コマンド:

  • 設定が正しいことを確認します: nginx -t
  • Nginxのバージョン番号を確認します: nginx -V
  • Nginxを起動します: nginxを起動します
  • Nginx をすぐに停止またはシャットダウンします: nginx -s stop
  • Nginx を通常どおり停止またはシャットダウンします: nginx -s quit
  • 設定ファイルの変更リロードコマンド: nginx -s reload

nginxを停止すると、/logsディレクトリのnginx.pidは自動的に削除されます。

  • nginx -c conf/nginx.confコマンドを使用してnginxを再作成または再起動することができます。

nignxリスニングポートが正常に起動されているかどうかを確認します

  • netstat -ano | findstr ポート番号

解決策: nignxを閉じた後もポートは引き続きリッスンしています

1. netstat -ano | findstr ポート番号#PID を取得

2. tasklist | findstr "PID" #nginx プロセス情報を検索するコマンド

3. taskkill /f /t /im nginx.exe #nginxプロセスを終了します

2. クロスドメイン問題を解決するためにNignxを設定する方法を紹介します

フロントエンド IP ポート番号: http://localhost:8080/

バックエンド IP ポート番号: http://localhost:8082/

クロスドメインを設定していない場合、フロントエンドのリクエストは次のようになります。

uni.リクエスト({
  url:'http://localhost:8082/ApiController/test',
  成功:(res)=>{
  コンソールログ(res.data)
  },
})

アクセスアドレス: 'http://localhost:8082/ApiController/test' と表示されます

次にNignxを設定します

/config/nginx.confのこのファイルを編集します

1) nginx.conf設定ファイルのhttpブロックにヘッダー情報を追加し、クロスドメインアクセス設定を追加します。

add_header Access-Control-Allow-Origin *; // すべてのドメイン名がドメイン間でプロキシ アドレスにアクセスできるようにします。add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET; //クロスドメインリクエストアクセスリクエストメソッド、

2) リバースプロキシを設定する

サーバー{
  listen 80; #nignx のリスニング ポートを設定します server_name localhost; #nignx のリスニング アドレスを設定します location /ApiController{ #リスニング アドレスは /ApiController で始まります proxy_pass http://localhost:8082; #転送アドレス}
}

設定後、フロントエンドのアクセスURL

http://localhost:8082/ApiController/test を http://localhost:80/ApiController/test に変更する必要があります。

#現時点での監視

ドメイン名としてlocalhostを使用する

ポート80を使用する

アドレスは/ApiControllerで始まります

アドレス転送が実行されます

uni.リクエスト({
   url:'http://localhost:80/ApiController/test',
   成功:(res)=>{
   コンソールログ(res.data)
   },
})

結果: (アクセス成功)

要約する

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題を解決する方法について説明したこの記事はこれで終わりです。Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題を解決する方法についての関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • フロントエンドに必要なNginx設定の詳細な説明
  • Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法
  • フロントエンド開発のための Nginx 構成 (シナリオ)
  • $remote_addr に基づく nginx フロントエンド配布方法の詳細な説明
  • nginx で複数のフロントエンド プロジェクトをデプロイするいくつかの方法
  • フロントエンドでnginxが何ができるかの詳細な説明

<<:  CSS3アニメーションを使用して、小さい円から大きい円に拡大し、外側に広がる効果を実現する例

>>:  MySQL ロック制御同時実行方法

推薦する

新しい CSS display:box プロパティの詳細な説明

1. ディスプレイボックス;要素にこのプロパティを設定すると、display:inline-bloc...

SQL GROUP BYの詳細な説明と簡単な例

GROUP BY ステートメントは、Aggregate 関数と組み合わせて使用​​され、1 つ以上の...

JSデータ型検出のさまざまな方法の概要

目次背景データ型を決定する方法は何ですか? 1. typeof を使用して基本データ型を決定します。...

新しい Linux ファイル権限設定における umask の詳細な理解

序文起源は質問 1 です: umask が 022 に設定されている場合、作成するファイルのデフォル...

openlayers6のマップオーバーレイの詳細な説明

1. オーバーレイの概要オーバーレイとは、その名の通り、別の形で地図上に表示される、覆うことを指しま...

nginx を使用したプロキシ サーバーの設定

Nginx は、リバース プロキシ機能を使用して負荷分散を実装できるほか、フォワード プロキシ機能を...

Nginx でファイル ホットリンク保護サービスを構築する方法を学ぶ例

序文多くのサイトが、ポイントやゴールドコインなど、情報のダウンロードに料金を請求していることは誰もが...

手書きの Vue2.0 データハイジャックの例

目次1: webpackをビルドする2. データハイジャック3: まとめ1: webpackをビルド...

高性能な HTML アプリケーションを作成するためのヒント

Web ページのパフォーマンスを向上させるにはどうすればよいでしょうか?ほとんどの開発者は、Java...

Vue開発の一般的な手法の詳細な説明

目次$nextTick() $forceUpdate() $セット() .sync——2.3.0 以...

Blazor における CSS 分離の問題

1. 環境VS 2019 16.9.0 プレビュー 1.0 .NET SDK 5.0.100 2. ...

Web フォームの入力要素の高度な使用例 11 選

1. ボタンが押されたときに点線のボックスをキャンセルする<br />入力に属性値hid...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

ES9の新機能の詳細な説明: 非同期反復

目次非同期トラバーサル非同期反復可能トラバーサル非同期反復生成非同期メソッドと非同期ジェネレーター非...

Windows で MySQL 5.7.17 圧縮バージョンをインストールするときに遭遇する落とし穴

まず、Windows 64 ビット用の最新の MySQL 5.7.17 コミュニティ圧縮バージョンを...