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

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

推薦する

ウェブサイトのその後の外部リンクは、ウェブサイトのホームページに向けられてはならない。

外部リンクは、あらゆる SEO に欠かせない要素です。外部リンクの影響は以前ほど大きくはありませんが...

あらゆるものがインテリジェントに相互接続される時代について専門家が議論します。 Techo TVP IoT開発者サミットが成功裏に終了

2020年には、IoT接続数が初めて非IoT接続数を上回りました。 「あらゆるもののインターネット」...

検索機能を使用してウェブサイトのコレクションの量を増やす方法についての簡単な説明

多くのウェブマスターが毎日コンピュータの電源を入れて最初にすることは、自分のウェブサイトのエントリ数...

機密情報サイトは誰を怒らせたのか:制御不能な拡大と不合理な投資

抑制されないスタッフの拡大、不合理な大規模な広告投資、タイムリーで効果的な信用格付けシステムの欠如、...

モグジエの交通強盗

電子商取引業界が現在直面している最大の課題は、仲介や仲介ビジネスモデルに大きく依存しており、商品の生...

4つの主要機能を最適化し、UCloud CDN製品を全面的にアップグレード

1 年以上にわたる製品の反復と内部アーキテクチャの最適化を経て、UCloud コンテンツ配信ネットワ...

ftpit-512m メモリ/年間 20 ドル/ロサンゼルス

FtpItは1月に設立され、主力商品は低価格回線のVPSです!簡単に言うと、Xeon E3-1240...

アリババクラウド南京雲奇が技術配当を発表、コア製品は最大50%削減

4月26日、2018年雲奇会議南京サミットにおいて、アリババクラウドは新たな一連の価格調整を発表しま...

エッジコンピューティングサービスの利点は何ですか?

エッジコンピューティングサービスは、近年進化を遂げた新しい用語と言えます。エッジコンピューティングの...

データセンターにおける VxLAN テクノロジーについての簡単な説明

[[250106]]ネットワーク技術の発展に伴い、クラウドコンピューティングは、システム利用率の高さ...

クラウドセキュリティの責任を共有するということは、多くの場合、誰も責任を負わないことを意味する。

責任が明確でないグループの場合、「共有」または「共同」責任は、全員が他の誰かが問題を解決していると思...

sharktech: オランダのサーバー、60g の高防御、最低 58 ドル、+1Gbps\10Gbps の無制限トラフィック、Alipay が利用可能

オランダの Sharktech アムステルダム データ センターは、ここ数年補充や拡張が行われていま...

「ブルーオーシャン」のジレンマ:国内生鮮食品電子商取引の拡大は物流ジレンマに陥る

2013年、生鮮食品の電子商取引は静かに盛り上がっています。天猫、京東、No.1 Storeなどの大...

教育・研修ウェブサイト運営ガイド:コンテンツ戦略

いわゆる教育・研修ウェブサイトとは、教育情報や研修コース情報の提供を主な内容とするウェブサイトを指し...