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 でスロークエリを有効にする方法の例

推薦する

フロートをクリアするための CSS メソッドの概要

フロートはWebページのレイアウトでよく使用されますが、フローティングブロックレベル要素は標準のドキ...

JS関数の継承について学ぶ記事

目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...

収集する価値のある Linux ドキュメント編集コマンド 27 個

Linux col コマンドLinux の col コマンドは制御文字をフィルタリングするために使用...

シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...

選択にスタイルを追加するための純粋な CSS (スクリプトなし) 実装

通常は ul、li を介して選択のデフォルト スタイルを変更して、実現をシミュレートします。このよう...

MySQL UNION演算子の基本知識ポイント

MySQL UNION 演算子このチュートリアルでは、MySQL UNION 演算子の構文と例を紹介...

シンプルなID生成戦略: MySQLテーブルからグローバルに一意のIDを生成する実装

グローバル ID を生成する方法は多数あります。ここでは簡単な解決策を紹介します。MySQL の自動...

MySQL の悲観的ロックと楽観的ロックの理解と応用分析

この記事では、例を使用して MySQL の悲観的ロックと楽観的ロックについて説明します。ご参考までに...

CentOS サーバーに FFmpeg をインストールするための完全な手順

序文サーバーシステム環境は、CentOS 6.5 (最終) です。 FFmpeg をサーバーに正常に...

my.cnf (my.ini) 重要なパラメータの最適化設定手順

MyISAM ストレージエンジンMyISAM ストレージ エンジンは、書き込みよりも読み取りが多く、...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

HTML の 5 種類のスペースの意味

HTML には、幅の異なる 5 つのスペース エンティティが用意されています。非改行スペース ( )...

MySQL killコマンドの実行原理の詳細な説明

目次キル命令実行原理命令実行特性クエリ実行の強制終了の原則接続終了の実装原則中断される可能性はありま...

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

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