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

推薦する

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

ネイティブ JavaScript 継承方法とその長所と短所の詳細な説明

目次序文プロトタイプ継承アドバンテージ欠点コンストラクタの継承アドバンテージ欠点組み合わせ継承寄生的...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

TypeScriptはvscodeを使用してコードのコンパイルプロセスを監視します

インストールtsコマンドをグローバルにインストールする npm install -g typescr...

Reactのref属性を深く理解する方法

目次概要1. Refsオブジェクトの作成1.1 React.createRef() 1.2React...

React Nativeはモニタリングジェスチャーの上下プル効果を実現します

React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは...

Vueフィルターの使い方

目次概要フィルターの定義フィルターの使用カスタムグローバルフィルターローカルフィルター予防例1(ロー...

Vue を使用してパブリック アカウントの Web ページを開発する方法

目次プロジェクトの背景始めるvue-cliでプロジェクトを作成するモバイル適応についてnormali...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

MySQL トリガーの紹介、トリガーの作成、使用制限の分析

この記事では、例を使用して、MySQL トリガーの概要、トリガーの作成方法、およびトリガーの使用上の...

Ubuntu 18.04 LTSでIPアドレスを設定するための完全な手順

序文Ubuntu 18.04 LTS で IP アドレスを設定する方法は、これまで使用されていた設定...

CSS3 クリックボタン円形進行ティック効果実装コード

目次8. CSS3 クリックボタンの円形進捗チェック効果8.1 画像プレビュー8.2 index.h...

SSH接続を介してXshellを使用したUbuntu 20.04で報告されたサービス問題の詳細な説明

1. 最近、Ubuntu の新しいバージョンをインストールしました。/etc/ssh/sshd_co...

docker を使用して Django テクノロジー スタック プロジェクトをデプロイする方法

Docker の人気と成熟に伴い、Docker は徐々にプロジェクトをデプロイするための第一の選択肢...

動的および静的分離を実装するための Nginx サンプル コード

この記事のシナリオと組み合わせて、Nginx と Java 環境 (SpringBoot プロジェク...