カテゴリ: NGINX

検索結果: 7件

article-thumbnail

Nginxのヘルスチェックで1×1ピクセルのgif画像を出力する方法

【概要】Nginxのヘルスチェックで1×1ピクセルのgif画像を出力する方法についてまとめます。とても軽量な為、Nginxで動かしているWebサーバーのヘルスチェックにお勧めです。【詳細】[概要]「/etc/nginx/conf.d/ドメイン名.conf」のconfigファイルに設定することを想定します。そのconfigファイルのlocation句として「/health-check.html」を追加します。その内部に「empty_gif;」と最後に「break;」を追記すれば完了です。これで「http://ドメイン名/health-check.html」にアクセスすれば1×1ピクセルのgif画像が出力されます。[設定手順]・編集コマンドvi /etc/nginx/conf.d/ドメイン名.conf・追記内容location /health-check.html {empty_gif;access_log off;break;}

カテゴリ: NGINX 2020-10-04 01:04:59
article-thumbnail

NginxでBasic認証を行う時のまとめ

【概要】NginxでBasic認証を行う時のまとめです。プロジェクト全体にBasic認証を行う方法や指定した対象にかける方法など、様々な方法についてまとめているので参考にしてみて下さい。【詳細】0. 前提前提として「/etc/nginx/conf.d/domain名.conf」ファイルを編集する事を想定します。1. プロジェクト全体にBasic認証をかけるlocation / {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}2. 指定したディレクトリ配下にBasic認証をかける※ 下記はroot直下にある、jsonディレクトリに対してBasic認証をかける事を想定していますlocation /json/ {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}3. 完全一致のパスに対してBasic認証をかける※ 下記は「/json/index.json」のファイルに対してBasic認証をかける事を想定していますlocation /json/index.json {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}4. 正規表現を使用した方法まとめi. 完全一致ii. ^~ 前方一致iii. ~ 正規表現(大文字と小文字が区別されます)iv. ~* 正規表現2(大文字と小文字が区別されません。修飾子「i」をつけたときの状態)5. 指定の優先順位Basic認証で指定した際の優先順位は下記になる。完全一致() > 前方一致(^~) > 正規表現(~) > 正規表現2(~*) > 指定なしよって、下記のように指定が重複した際には、前方一致の方が優先され、指定なし(location /json)の方は反映されない。location /json {# 指定なしでの特定の処理}# jsonディレクトリを指定した場合は下記が優先される。location ^~ /json {# 前方一致した際の特定の処理}

カテゴリ: NGINX 2020-09-29 02:04:59
article-thumbnail

NGINXで特定のIPアドレスからのアクセスのみを許可する

【概要】Nginxで特定のIPアドレスからの通信は許可する方法をまとめます。以前IPアドレスでのサイト表示を拒否する方法をまとめました。NGINXでIPアドレスによるアクセスを拒否する設定ただ、Webサーバーの上にVarnish等のロードバランサー、キャッシュサーバーを構築している場合にIPアドレスでの通信をする事があります。その場合、IPアドレスでのアクセスを拒否してしまうとロードバランサー等も拒否してしまいます。よって、特定のIPアドレスからのリクエストは許可し、その他のIPアドレスからのリクエストは拒否します。【詳細】・設定内容location句に許可するIPを指定します。その後に「deny all;」で全て拒否指定をします。この順番を間違えると全てのIPアドレスを拒否してしまいます。許可するIP - 全拒否の順番で記述して下さい。location / {allow 10.128.0.6;deny all;}・使用例server {listen80;server_namehoge.com;access_log/var/log/nginx/hoge.com/access.logmain;root/var/www/html/hoge.com/;index index.html;location / {allow 10.128.0.6;deny all;}error_page500 502 503 504/50x.html;location /50x.html {root/usr/share/nginx/html;}}

カテゴリ: NGINX 2020-09-16 23:19:55
article-thumbnail

CentOS7にNginxの最新バージョンをインストールする

【概要】 CentOS7にNginxの安定版における最新バージョンをインストールする方法をまとめます。【詳細】1. レポジトリ設定をする「/etc/yum.repos.d/nginx.repo」が存在しない場合も下記のコマンドで作成可能です。vi /etc/yum.repos.d/nginx.repo・/etc/yum.repos.d/nginx.repo設定内容[nginx-stable]namenginx stable repobaseurlhttp://nginx.org/packages/centos/$releasever/$basearch/gpgcheck1enabled1gpgkeyhttps://nginx.org/keys/nginx_signing.key[nginx-mainline]namenginx mainline repobaseurlhttp://nginx.org/packages/mainline/centos/$releasever/$basearch/gpgcheck1enabled0gpgkeyhttps://nginx.org/keys/nginx_signing.key2. Nginxインストールするyum install nginxこれで安定版における最新バージョンのNGINXがインストールされます。バージョン確認を行う場合、下記のコマンドで確認して下さい。nginx -v

カテゴリ: NGINX 2020-09-12 11:08:33
article-thumbnail

NGINXでIPアドレスによるアクセスを拒否する設定

【概要】NGINXの設定でIPアドレスでのWebサイトの表示を拒否する設定についてまとめます。ここではステータスコード403のforbiddenを返す設定にしているが、ステータスコード444にするとサーバーが何の返答もない状態を返すことになります。ステータスコードは各サービスに適したものを設定して下さい。※ ロードバランサー等でIPアドレスでの接続を行うシステムの場合、その接続を拒否してしまうので注意して下さい!AWSのロードバランサーを使用している場合にIPアドレスでのアクセス拒否を行う方法は下記の記事にまとめているので参考にしてみて下さい。EC2のWebサーバーにIPアドレス直打ちでのアクセスを拒否する方法【詳細】[概要]特定のサーバー設定(/etc/nginx/conf.d/****.conf)に下記の設定を行います。server_nameにサーバーのIPアドレス(ここでは192.168.0.10)を指定し、403を返却する事でアクセスの拒否をします。[/etc/nginx/conf.d/****.conf への設定内容]下記は80番ポートと443番ポートを拒否していますが、必要なポートのみの設定でも良いです。また、444を返却したい場合は「return 403;」を「return 444;」に変更して下さい。server {listen 80;server_name 192.168.0.10;return 403;}server {listen 443;server_name 192.168.0.10;return 403;}

カテゴリ: NGINX 2020-09-08 02:18:31
article-thumbnail

NGINXのtoo many open filesの対応方法

【概要】NginxやApache等のプロセスはファイルとして扱われます。よって、アクセス数が増える事でデフォルトのファイル操作上限(1024)に達した場合、「Too many open files」のエラーが出力されます。ファイルの操作上限をデフォルトから増やす方法についてまとめます。【詳細】1. 現状のファイル上限数を確認するファイルの上限数確認コマンド。ulimit -n出力結果1024上記はファイル上限数を変更していない場合のデフォルト値です。2. ulimit設定変更vi /etc/security/limits.conf下記を追記します。* soft nofile 65536* hard nofile 655363. nginxの設定変更mkdir /etc/systemd/system/nginx.service.dvi /etc/systemd/system/nginx.service.d/limit.conf/etc/systemd/system/nginx.service.d/limit.confに以下を記述します。[Service]LimitNOFILE655364. サーバーを再起動してファイル上限数を確認・Linuxサーバーのファイル上限数確認ulimit -n出力結果65536・Nginxのファイル操作上限を確認cat /proc/`pgrep nginx | head -1 `/limits | grep 'open files'出力結果Max open files6553665536files

カテゴリ: NGINX 2020-08-17 01:45:26
article-thumbnail

Nginxのログを停止する

【概要】Nginxのログを停止する為のドキュメントです。実行理由としてはNginxのログが不要な場合や、ストレージの使用量を下げたい時に使用する事が多いかと思います。もし、ストレージ使用量が原因の場合はログローテーションも考慮してみて下さい。【詳細】・アクセスログを停止する設定を行う下記のパスに存在する特定のアプリケーションのconfをviで開きます。ここでは「/etc/nginx/conf.d/example.com.conf」を例にコマンドを書いています。vi /etc/nginx/conf.d/example.com.conf・access logの停止とerror logの出力頻度を下げる設定対象のNginxのconfに下記を設定します。server { ...... access_logoff; error_log /var/log/nginx/error.log crit; ......}・設定内容の詳細access_log は off にする事でログ出力がされなくなります。error_log は 停止する事が出来ません。しかし、起きた問題が致命的なレベルの時のみ出力を行う設定にする事はできます。error_log の 出力先のパスの後に記述している「crit」を指定する事で設定します。

カテゴリ: NGINX 2020-05-21 01:34:52