Nginx の .htaccess サポートに関する分析

Nginx の .htaccess サポートに関する分析

以前、Typecho 開発グループの Wang Yi と Nginx の .htaccess ファイルのサポートについて話し合いました。 Wang Yi 氏は、Nginx は .htaccess ルールをサポートでき、Apache ルールと互換性があると考えています。 Nginx は、.htaccess ルールと互換性のない Nginx の疑似静的ルールを保存するために .htaccess ファイルの使用をサポートしていると思います。

こう言うのには理由があります。Nginx の公式ドキュメント Document 1/Document 2 を参照しました。Document 1 は Nginx の Rewrite モジュールのドキュメントで、nginx の rewrite ルールの構成が詳細に説明されています。その中で Apache に関するルールは見つかりませんでした。Document 2 では、.htaccess ファイルが使用されない理由が説明され、Nginx と Apache が比較されています。ご存知のとおり、Nginx は .htaccess ルールをサポートしていません。Open Source China のウェブマスターである Hongshu 氏は、かつて次のような記事を書きました。「nginx が .htaccess をサポートしていないと言ったのは誰ですか?」私の意見では、Hongshu 氏は一般の人々を混乱させ、概念を変えています。私たちは .htaccess ルールについて話しているのに、Hongshu 氏は .htaccess ファイルについて話しているのです。

あまりにもナンセンスなことを言った。次に、nginx が .htaccess をサポートしない理由を分析します。主に以下の点があります。

1. パフォーマンス要件: ドキュメント 2 から、Apache が疑似静的ルールを処理するときに、各ディレクトリで .htaccess ファイルを順番に検索することがわかります。これにより、大量のクエリが発生し、パフォーマンスに影響を及ぼします。これは、Nginx の設計コンセプトと一致しません。

2. ソフトウェア モデルの決定: Apache は動的にロードするように設計されており、これは Apache が .htaccess ファイルを処理する方法からわかります。 .htaccess を変更すると、変更はすぐに有効になり、Apache のロード モジュールも動的にロードされますが、Nginx にはハードコードされたルールがあり、変更後に nginx をリロードする必要があります。Tengine は動的ロード モジュールを提供しますが、設定を有効にするにはリロードする必要があり、「疑似動的」であると言えます。

3. 北のクマのプライドが働いている: アパッチ族にはアメリカの影があり、クマたちは、もし彼らが両立するとなると、少し謙虚になるだろうと感じている。だからあなた自身のバージョンを作ってください。

Nginx に .htaccess を適用する実現可能性分析。私の意見では、.htaccess は LNMP プラットフォームの商用化には使用できません。これにはいくつかの理由があります:

1. セキュリティが低い。

Nginx は実行前に設定ファイルを読み込むため、使用している仮想ホストに、いじくり回すのが好きな人が隣にいる場合、その人が不器用で間違った変更を行った場合、その仮想ホストにアクセスできなくなり、被害に遭うことになります。

2. 操作が不便。

Nginx は最初に設定ファイルを読み込むため、変更するたびに Nginx を再起動する必要があります。再起動を容易にするために、ユーザーに ssh パスワードを提供していますか? PHP でパスワード付き exec を使用しないと、クロスサイトのリスクが発生します。 Chroot が有効になっている場合、exec は効果がありません。

要約: 実際、nginx は .htaccess ファイルをサポートしているだけでなく、.mp3 を使用して疑似静的ルールを配置することもできます。ただし、安全のために、書き換えルールを保存するにはデフォルトの conf ファイルを使用することをお勧めします。結局、ある日、不注意でディレクトリを消去してしまい、ルールが消えてしまうかもしれません。 Nginxもクラッシュしました

出典: 投稿、著者: 西琴王子、オリジナルリンク。


元のタイトル: Nginx の .htaccess サポートに関する分析

キーワード: アクセス

<<:  外部リンクを投稿する際に従うべき3つの原則について

>>:  モバイルソフトウェア開発者向けのシステム選択

推薦する

遂寧の人々が探求した6つのビジネス戦略と9つの信条

1. 勇敢に前進する――市場で足場を築く方法市場は企業が足がかりを築き、奮闘する戦場です。中小企業が...

ウェブマスターはどのようにすれば改善できるでしょうか?

最近、Baidu に何か問題があることは、ほとんどのウェブマスターがすでに感じていると思います。9 ...

Taobaoアフィリエイト製品のユーザーマイニングを実行するにはどうすればいいですか?

スキルとヒントは、一般的に成功体験を共有することです。Taobao の顧客プロモーションの目的は、ト...

ChinaJoyから2018年のゲーム業界を展望します!

今年のChinaJoyでは、私たちがよく知っているシーンが多く上演されたが、「一見微妙だが、実は大き...

クラウドネイティブ データ システムの設計上の考慮事項

クラウドネイティブ データ システムの設計に関しては、使用すべき特定のホスティング インフラストラク...

クラウド アプリケーション移行の問題を回避する 4 つの解決策

企業が重要なビジネス アプリケーションをクラウドで実行することに決めたら、別のベンダーに切り替えるこ...

盗作収集サイトのランキングが奇跡的に上昇した理由を探る

百度は6月から一連の盗作収集サイトに対して厳しい取り締まりを開始した。しかし、筆者は最近、ある盗作収...

Kafka はどのようにして 1 秒間に 1,500 万件のメッセージを処理するのでしょうか?

[[245749]] [51CTO.com からのオリジナル記事] Apache Kafka は、N...

ウェブマスターネットワークニュース:電子商取引が生鮮食品市場に参入。アリランが「クラウドキャット」を発売

1. 電子商取引が「コールドチェーン」の欠点を補うために生鮮食品市場に参入電子商取引は「コールドチェ...

Canalys: アマゾン、マイクロソフト、グーグルがクラウドサービス市場の60%を占める

海外メディアの報道によると、Canalysのデータによると、2021年第2四半期の世界のクラウド支出...

エッジコンピューティング: 運用効率とビジネス上のメリットの向上

組織はワークロードをネットワークのエッジに移動しています。つまり、できるだけ早くデータを分析するとい...

GPU コンテナ仮想化の新機能のリリースとフルシナリオの実践

本日、皆さんにお伝えしたいトピックは、Baidu Smart Cloud の「GPU コンテナ仮想化...

Kafka の高パフォーマンス スループットを公開

最も人気のあるオープンソース メッセージング システムである Kafka は、データ バッファリング...

恒源智成とアリババクラウドが共同でビジネスチェーン全体をカバーするダブル11クラウドカーニバルを開始

11月7日、総合ITサービスプロバイダーの恒源智成とアリババクラウドは共同で、企業の飛躍的なアップグ...