フロントエンドとバックエンドを分離し、nginxを使用してクロスドメインの問題を解決する フロントエンド: vue.js+nodejs+webpack 舞台裏: SpringBoot リバースプロキシサーバー: nginx アイデア: フロントエンド コードをパッケージ化し、nginx が静的リソースを指すようにし、nginx がバックグラウンド リクエストを転送します。 1. フロントエンドコードをパッケージ化します。 npm 実行ビルド dist フォルダーが生成されます。 index.html ファイルと静的フォルダーが含まれています。パスは、例としてローカルの場所に基づいています。 /ユーザー/xxx/ideaProjects/webtest/dist 2. 開く /usr/local/etc/nginx ディレクトリの nginx.conf ファイルに、サーバーに次の内容を追加します。 listen 80; #元の8080、競合を避けるため80に変更 server_name ローカルホスト; #文字セット koi8-r; #access_log ログ/host.access.log メイン; 位置 / { ルート /Users/xxx/ideaProjects/webtest/dist; インデックス index.html; # これは、Vue、Angular、React が H5 の履歴を使用するときに書き換えの問題を処理するために使用されます。if (!-e $request_filename) { 最後に ^(.*) /index.html を書き換えます。 壊す; } } #プロキシサーバーインターフェースの場所 /api/ { proxy_pass http://localhost:8080/;# プロキシインターフェースアドレス} テスト フロントエンドはリクエスト http://localhost/test を送信し、vue-router はそれを http://localhost/api/demo/1 にリダイレクトし、実際のアクセスは http://localhost:8080/demo/1 になります。 バックエンドに直接リクエストを送信します。http://localhost/api/demo/1 にアクセスします。実際のアクセスは次のようになります: http://localhost:8080/demo/1 コンテンツ拡張の考え方: 1)。 場所 /api/ { proxy_pass http://localhost:8080/;# プロキシインターフェースアドレス} プロキシインターフェースのアドレスは 8080 までしか到達しないので、バックグラウンドプロジェクトの名前が自動的に追加されるのでしょうか? ? ? たとえば、インターフェースは http://148.70.110.87:8080/プロジェクト名/メソッド名です。 。 。 2) リクエストは .js で行われます。Nginx は上記のように設定されていますが、リクエストは http://148.70.110.87/api/index2 404 (Not Found) で失敗します。 axios.post('/api/index2') .then( (レスポンス) => { console.log(応答); }) .catch( (エラー)=> { コンソール.log(エラー); }); 3). 3 番目のステップであるテストがよくわかりません。関連するコードを提供していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: 今日と昨日の 0:00 タイムスタンプを取得する MySQL の例
CSS3変数について変数を宣言するときは、変数名の前に 2 つのハイフン ( -- ) を追加します...
目次タイムスタンプ比較クエリで遭遇する落とし穴タイムスタンプクエリ範囲の問題タイムスタンプ比較クエリ...
目次導入1. MySQLデータベースの全体的なアーキテクチャSQL インターフェースパーサーオプティ...
バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...
目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...
多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...
目次概要1. アプリケーションレベルのミドルウェア2. 組み込みミドルウェア3. サードパーティミド...
最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...
目次使用シナリオ達成方法1. 動的コンポーネントを配置する場所2. コンポーネントのインスタンスを取...
Linux のファイル権限まず、現在のディレクトリ内のファイルの内容を確認しましょう。 ls -l ...
1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...
この例では、jQuery を使用してマウス ドラッグ イメージ機能を実装します。まず、ラッパーを設定...
序文通常、大量のデータを扱う MySQL クエリには「ページング」戦略が採用されます。ただし、ページ...
目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...
現在、コンピュータモニターの画面解像度はますます高くなる傾向にありますが、携帯電話などのモバイルデバ...