Nginx で Angular プロジェクトを展開する際の落とし穴

Nginx で Angular プロジェクトを展開する際の落とし穴

コンパイル後にAngularプロジェクトをNginxにデプロイする方法をオンラインで検索すると、ほとんどの記事で、更新によって発生する 404 の問題を回避するために、 Nginx構成ファイルのlocationにホームページへのジャンプを指定する必要があると説明されています。完全なserverコードは次のとおりです。

サーバー{
 聞く 80;
 サーバー名 192.168.190.131;

 #sendfile オン;
 #文字セット koi8-r;
 access_log /var/log/nginx/host.access.log メイン;

 位置 / {
  ルート /chanchaw/app/angular;
  インデックス index.html index.html;
  try_files $uri $uri/ /index.html;
 }

 エラーページ 404 /index.html;

 場所 = /index.html {
  ルート /chanchaw/app/angular;
 }
}

上記のserver_nameの後にCentOS7.3の IP アドレスが続きます。次のlocationに特に注意してください: try_files $uri $uri/ /index.html 。これは、 Nginxを更新することによって発生する 404 エラーを防ぐためです。ここで問題になります。Nginx にデプロイした後、ブラウザ テストで次の問題が発生します。

index.htmlファイルとjsファイルは同じディレクトリにあるのに、なぜ見つからないのでしょうか? chromeこんな感じ、 firefoxもこんな感じ、では IE を試してみましょう。

解決する

chromefirefox自動的にhttphttpsに変換してリクエストを行うことが判明しており、実験に使用したCentOS仮想マシンにインストールされており、 sslを導入することは考えていませんでした。 ieプロトコルの変換を行わないため、 ie上でテストしても問題ありません。

以下もご興味があるかもしれません:
  • Angular プロジェクトの作成、パッケージ化から nginx の展開までの全プロセスを記録します。

<<:  NodeJSのモジュール性に関する詳細な説明

>>:  MySQL でスロークエリを有効にする方法の例

推薦する

Centos 7.4 サーバーの時刻同期設定方法 [NTP サービスに基づく]

この記事では、CentOS 7.4 サーバーで時刻同期を構成する方法について説明します。ご参考までに...

JS 非同期スタック トレース: await が Promise よりも優れている理由

概要async/await と Promise の基本的な違いは、await fn() は現在の関数...

Svelte の Defer Transition を Vue で実装する方法

最近、Rich Harris の <Rethinking Reactivity> ビデオ...

jsはフォーム検証機能を実装します

この記事の例では、フォーム検証機能を実装するためのjsの具体的なコードを参考までに共有しています。具...

Vue-Routerのインストールプロセスと原理の詳細

目次1. フロントエンドルーティングの実装原則2. vue-Routerの基本的な使い方2.1. イ...

Docker Compose を使用して Confluence を構築するチュートリアル

この記事は「Attribution 4.0 International (CC BY 4.0)」ライ...

Centos7 で ZooKeeper3.4 ミドルウェアを構築するための一般的なコマンドの概要

1.ダウンロードして解凍する1. Zookeeperの紹介分散サービス フレームワークとして、Zoo...

JS関数の呼び出し、適用、バインドの超詳細な方法

目次JS 関数呼び出し、適用、バインドメソッド1. call() メソッド1. call() メソッ...

アイデアをDockerに接続してワンクリックでデプロイする方法

1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...

MySQL ユーザー権限管理の実装

1. MySQL の権限の概要MySQL には、権限を制御する 4 つのテーブルがあります。user...

Vue+echarts でプログレスバーのヒストグラムを実現

この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...

mysql update文の実行プロセスの詳細な説明

以前、MySQL クエリ文の実行プロセスについての記事がありました。ここでは、更新文の実行プロセスを...

CSS プロパティ display:flow-root 宣言を 1 つの記事でマスターする

zhangxinxu より https://www.zhangxinxu.com/wordpress...

Vue3はCSSの無限シームレススクロール効果を実装します

この記事では、CSS無限シームレススクロール効果を実現するためのvue3の具体的なコードを参考までに...

MySQLの共通関数を使用してJSONを処理する方法

公式ドキュメント: JSON 関数名前説明JSON_APPEND() JSONドキュメントにデータを...