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つの原則について

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

推薦する

調査: IT プロフェッショナルの半数以上がハイブリッドおよびマルチクラウド アーキテクチャを好む

この調査には 250 を超える組織へのアンケートが含まれており、クラウドに対する姿勢、クラウドで直面...

予算があればチャンネルプロモーションをうまくできると思いますか?必要なのは以下の4点です

プロモーターは皆、予算が決して十分ではないと感じているはずです。お金を賢く使いたいなら、自分自身と敵...

jollyworkshosting - Phoenix VPS が 50% オフ

Jollyworkshosting は、2009 年に VPS 事業を開始したフィリピンのインターネ...

データ管理のためのマルチクラウド戦略にはどのようなものがありますか?

今日、多くの企業は、ホスティング ニーズを満たす最善の方法としてマルチクラウドに注目しています。これ...

Sina Weiboを例に挙げて:ウェブサイトのインタラクションデザインの最初の経験

9月の初めに、私はSina WeiboのUDC部門でインタラクティブデザインのインターンシップをしま...

ウェブサイトの優先ドメインの問題について簡単に説明します

最近、グループ内の何人かの友人とコミュニケーションを取っていて、何人かの友人から質問を受けたのですが...

企業はBaidu入札とSEOサービスをどのように選択すべきでしょうか?

多くの企業は、自社のウェブサイトを宣伝する過程で、「Baidu 入札を行うべきでしょうか? それとも...

Cisco のヒント: 複雑なネットワーク環境でエンタープライズ セキュリティを確保するにはどうすればよいでしょうか?

[51CTO.com からのオリジナル記事] 世界がインテリジェント テクノロジーの時代に入るにつれ...

理にかなったクラウド回帰 5 つ

今日、ますます多くの企業が、選択したアプリケーションをクラウドからオンプレミスまたはホストされたデー...

Java エンジニアのための上級者向けコース: Kafka

1. カフカの背景Kafka はもともと Linkedin によって開発されました。これは、Zook...

企業向けソーシャルネットワークの運用に関する暗黙のメッセージ

この国でソーシャルネットワークが急速に普及していることは誰の目にも明らかだ。オンラインセレブとして、...

国信友誼デジタルクラウドサービスは、政府や企業が低コストかつ便利にデジタル変革の高速レーンに入ることを支援します。

デジタル変革の波を受けて、企業や組織のデジタル構築の需要が急速に高まっています。ますます多くの企業や...

百科事典 |クラウドコンピューティングとは何ですか?

ご存知のとおり、クラウド ストレージはビッグ データを扱うのではなく、物理サーバーやオペレーティング...

リンクを取得する方法に関するいくつかのヒント

今日、私の QQ グループの友人が私に、ここ ("http://www.hot-wow.c...

ハイブリッド クラウドのパワーとは実際には何を意味するのでしょうか?

ハイブリッド クラウドとマイクロサービスにより、環境間でのデータの統合とアクセスが容易になり、アプリ...