フロントエンドとバックエンドを分離し、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 の例
トランザクションとは何ですか?トランザクションは、データベース管理システムの実行プロセスにおける論理...
最近、プロジェクトで作業しているときに webSocket プロトコルを使用し、WeChat アプレ...
1. インストールプロセスMySQL バージョン: 5.7.18 1. my.ini ファイル(簡易...
目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...
コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...
ウェブページとは何ですか? HTML ドキュメントがブラウザカーネルによってレンダリングされた後に表...
Macはシェル(ターミナル)SSHを使用してリモートサーバーに接続します前提条件: 接続する必要があ...
Q1: データベースにはどのようなインデックスがありますか?メリットとデメリットは何ですか? 1. ...
MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...
CentOS6.9+Mysql5.7.18 ソースコードのインストールでは、以下の操作を root ...
目次1. セットとは何か2. セットコンストラクタ2.1) 配列2.2) 文字列2.3) 議論2.4...
コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...
仕える: # chkconfig --list すべてのシステムサービスを一覧表示する# chkco...
MySQL はインストールが簡単で、高速で、豊富な機能を備えています。これはオープンソース運動のベン...
入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...