Apache から nginx に移植する必要がある書き換えルールがたくさんあります。
書き換えルールと「if」条件が期待どおりに機能しているかどうかを確認できないため、これはかなり面倒なプロセスです。
Apache には書き換えモジュールのデバッグ機能がありました。nginx では何ができるでしょうか?
答え1
有効にするrewrite_log
:
rewrite_log on;
デバッグレベルを設定するerror_log
指令:
error_log /var/log/nginx/localhost.error_log notice;
答え2
デバッグサポートを有効にする次に、error_log でデバッグ レベルを設定します。
error_log /var/log/nginx/error.log debug;
これで、ログを追ってリクエストを送信できます。おそらく、必要以上に詳細な情報があるかもしれませんが、それが命を救うこともあります。
ああ、知っておくべきなのは悪であれば少なくとも場所の文脈では...
答え3
ログと組み込みのデバッグサポートを使用するのが間違いなく最も合理的な方法です。初期段階でルーティングのデバッグを素早く行い、ブラウザ/クライアントのみでやりとりしたい場合は、4xx「テキスト」を返します。指示文は、ほとんど手間をかけずに、あなたが望む答えを得られるかもしれません。例えば、
http {
server {
listen 80;
server_name mydomain.net;
return 404 "mydomain 80 route";
}
server {
listen 80 default_server;
return 404 "default 80 route";
}
}
返された Web ページ内のテキストには、リクエストによってserver
トリガーされたブロックが示されます。
答え4
もう 1 つの良いデバッグ手順は、Nginx ルールが考慮されているかどうかを確認することです。
location /test {
return 200 'My test';
}