ユーザ用ツール

サイト用ツール


serverapps:nginx

NGiNX

Install

pkg install nginx

バックエンドで使う場合で実IPの記録が必要な場合にはportsで HTTP_REALIP オプションをON
1)

pkg_replace -N nginx

luaサポート

openRestyはFreeBSDportsにないので、luaとMEMC(memcached)をONで入れてみる

依存パッケージはpkgで

pkg install pcre gmake openssl luajit gettext-tools gettext-runtime indexinfo

install

cd /usr/ports/www/nginx
make install

IPアドレス制限

i.e.

location / {
    deny 192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2620:100:e000::8001;
    deny all;
}

上から順番に評価されるので、以下のように書くと全部拒否されてしまうので注意。

location / {
    deny all;
    allow 192.168.1.0/24;
}

Basic認証

/usr/local/etc/nginx/conf.d/default.conf

#...省略...
location / {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;

  #...
}

htpasswdをOpenSSLで

sudo echo "ユーザー名:$(openssl passwd -apr1 パスワード)" > /path/to/htpasswd/hoge

とか

echo -n "USER:" ; openssl passwd -apr1 パスワード

SALTを指定したいなら

openssl passwd -apr1 -salt fugasalt パスワード

htpasswdをperlで

perl -le 'print crypt("password", "acsalt")'
or
perl -le 'print crypt("password", "acsalt")'> /etc/nginx/htpasswd

postデータをLogに出す

設定ファイルに以下のように

location / {
  log_format postdata $request_body;
  access_log  /var/log/nginx/postdata.log  postdata;

}

POSTで通信すると、/var/log/nginx/postdata.logにリクエストのBody部が記録される

参考

1)
2017.12.27:標準でONになっています
serverapps/nginx.txt · 最終更新: 2021/01/03 15:33 by hayashi