それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nginx設定の config でhtmlを直接書き出す(return)

昨日、echoモジュールに付いて記事を書いたら

直接 return できるよって教えてもらった。

nginx設定 で 直接HTMLを書き出す。echo モジュール。 - それマグで!

直接 return 200 "<!DOCTYPE html><h1>It works.(nginx)</h1></html>"; するのはどうでしょう..?

2022/08/16 16:19
b.hatena.ne.jp

昨日、nginxから直接コンテンツを書き出す方法を調べてechoモジュールを利用する記事を書いたら、コメントでもっとシンプルでモジュールがいらない方法を教えていただいた。

早速試してみた。

default に書いた

/etc/nginx/sites-enabled/default

  location /world {
     add_header Content-Type "text/html";
     return 200 "<h1>It works.(nginx)</h1>";
  }

リロードして動作させる。

sudo nginx -t  && sudo nginx -s reload

HTMLが表示された。

404 も試してみる

  location /not_found {
     default_type text/html;
     return 404 "<h1>It works.(nginx)</h1>";
  }

404 を返しつつHTMLが表示された。

設定がシンプルになりました。

echo モジュールを使わなくても良くなったので完璧だ。tmyk_kymさん、ありがとうございます。

これで、デフォルトサーバーが変なコンテンツを返却しなくて済むし、nginxの設定だけで完結する。

nginxの設定ファイルから直接HTMLやテキストを書き出しておけば設定がとてもシンプルでいいですね。フォルダへの依存が排除できて最高です。

参考資料