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 ロック制御同時実行方法

推薦する

Linux suse11でルートパスワードを忘れた場合に変更する方法の簡単な分析

SUSE Linuxでルートパスワードを忘れた場合の解決方法SUSE (Linux オペレーティング...

SQL文におけるGROUP BYとHAVINGの使用に関する簡単な説明

GROUP BY 句と HAVING 句を紹介する前に、まず SQL 言語の特殊な関数である集計関数...

Linux でファイルを削除するさまざまな方法の効率の比較

Linux で大量のファイルを削除する効率をテストします。まず500,000個のファイルを作成する$...

Windows 7 の mysql6.x で中国語の文字化けが発生する問題に対する完璧な解決策

1. コマンドラインでMySQLサービスを停止します: net stop mysql stop my...

Linux コマンドラインで他のユーザーと通信する方法

Linux のコマンドラインで他のユーザーにメッセージを送信するのは簡単です。これを行うコマンドは多...

Vue が天気予報機能を実装

この記事では、天気予報機能を実現するためのVueの具体的なコードを参考までに共有します。具体的な内容...

カラフルな時計効果を実現する JavaScript キャンバス

キャンバスを使ってカラフルな時計を書いてみよう! 1. タイトル(1)時計のケースが与えられ、ページ...

Reactの仮想DOMとdiffアルゴリズムの詳細な説明

仮想DOMの役割まず、仮想 DOM の出現によってどのような問題が解決されるのかを知る必要があります...

MySQL マルチテーブルクエリの詳細な説明

いつも、気づかないうちに時間というのは驚くほど早く過ぎていきます。小暑が過ぎ、中暑に突入しました。太...

Oracle VM VirtualBox の CentOS7 オペレーティング システムのインストール チュートリアル図

目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...

Dockerコマンドの自動補完の実装

序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...

Linux システムのデュアル ネットワーク カード バインディング構成の実装

システムバージョン [root@ ~]# cat /etc/redhat-release CentO...

Jenkins の紹介と Docker で Jenkins をデプロイする方法

1. 関連概念1.1 Jenkins の概念: Jenkins は、使用されるプラットフォームに関係...

セマンティック XHTML タグの紹介

まず最初に指摘しておきたいのは、人間は視覚的な区分を通じてコン​​テンツの意味を判断できるが、検索エ...