
nginxってだいたい最初からSNIが有効かと思ってたけどそうでもないのね・・・。
なーんかSSLを設定したのに、先に置いておいた証明書(別ドメイン)が表示されるなーと思っていたら。
最近の環境ではあんまり意識する必要は無いんやろうけど、けっこう数年前から動かしてたnginxだとSNIがenabledではなくdisabledって出とりましたわ。
ずっと証明書の何かを間違えたんかと思って色々調べてたのが無駄骨だったわけで。
まぁnginxをアップデートすればすぐ解決したけど、こういうこともあるんやなぁという備忘録。
SNIとは
https://jp.globalsign.com/blog/2015/server_name_indication.html
なーんかSSLを設定したのに、先に置いておいた証明書(別ドメイン)が表示されるなーと思っていたら。
最近の環境ではあんまり意識する必要は無いんやろうけど、けっこう数年前から動かしてたnginxだとSNIがenabledではなくdisabledって出とりましたわ。
ずっと証明書の何かを間違えたんかと思って色々調べてたのが無駄骨だったわけで。
まぁnginxをアップデートすればすぐ解決したけど、こういうこともあるんやなぁという備忘録。
SNIとは
https://jp.globalsign.com/blog/2015/server_name_indication.html

管理しているWordpressサイトで年明けからやたらと502エラーを吐くようになって、どしたんかなぁと思ってました。
元々アクセスがかなり多いサイトなので単純に負荷に耐えきれてないのかと思いきや、見てみるとHDD容量がいっぱいすぎて、fastcgiのキャッシュファイルが作れません的なエラーログが見つかりました。
容量の空きを100Gbyteほど確保してみたらとりあえず落ち着いたんで様子見。
これが直接的な原因かどうかは分かりませんがまぁHDD100%で放置するよりは良いでしょー。
専用サーバをひさしぶりにいじるとクラウドサーバみたいに随時足してけばええかーみたいなノリが通用しないからマイッチング。
元々アクセスがかなり多いサイトなので単純に負荷に耐えきれてないのかと思いきや、見てみるとHDD容量がいっぱいすぎて、fastcgiのキャッシュファイルが作れません的なエラーログが見つかりました。
容量の空きを100Gbyteほど確保してみたらとりあえず落ち着いたんで様子見。
これが直接的な原因かどうかは分かりませんがまぁHDD100%で放置するよりは良いでしょー。
専用サーバをひさしぶりにいじるとクラウドサーバみたいに随時足してけばええかーみたいなノリが通用しないからマイッチング。
Tag : 502 bad gateway
Posted at 2017/01/14 (Sat) | Category IT[nginx]
Link | No Trackbacks | PageURL |

仕事上で扱ってるサイトにSSLを導入するという運びになったわけですが、これまでApacheでは入れたことあったんですが、nginxでは入れたことが無かったのでいろいろググってみた。
んで、設定をわっちゃわっちゃいじってGlobalSingのSSLチェックで確認。
SSL Server Test (Powered by Qualys SSL Labs)
https://globalsign.ssllabs.com/

最初B判定だったのをいじった結果、A判定を取ったので、その時の設定をメモメモ。
BEAST対応はできてないんですが、「RC4が防げていればまぁとりあえずOK」みたいな記事をチラホラ見かけたのでとりあえずはこのままで行こうかなと思う次第。
んで、設定をわっちゃわっちゃいじってGlobalSingのSSLチェックで確認。
SSL Server Test (Powered by Qualys SSL Labs)
https://globalsign.ssllabs.com/

最初B判定だったのをいじった結果、A判定を取ったので、その時の設定をメモメモ。
server {
listen 443;
server_name hogehoge.com;
〜〜〜
〜〜〜
ssl on;
ssl_certificate /home/hogehoge/ssl/cert.pem;
ssl_certificate_key /home/hogehoge/ssl/cert.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:!DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK";
〜〜〜
〜〜〜
〜〜〜
}
BEAST対応はできてないんですが、「RC4が防げていればまぁとりあえずOK」みたいな記事をチラホラ見かけたのでとりあえずはこのままで行こうかなと思う次第。

nginx で
proxy_buffering を on にしていたのに、
proxy_buffer_size と proxy_buffers の設定をし忘れてたというミス。
中途半端(´Д`;)
proxy_buffering を on にしていたのに、
proxy_buffer_size と proxy_buffers の設定をし忘れてたというミス。
中途半端(´Д`;)

あんまり使うことは無いけど、
「とりあえずまずはindex.phpを通せ。話はそれからだ。」的な処理を作らないといけない場合もたまーにあるのでメモメモ。
「とりあえずまずはindex.phpを通せ。話はそれからだ。」的な処理を作らないといけない場合もたまーにあるのでメモメモ。
location / {
root /home/hogehoge/public_html;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?path=$uri&$args;
}


nginxで運営しているサイトでエラーページをカスタマイズする必要が出てきたんです。
ググってみると「error_page 404 /40x.html」って感じで設定すればすぐ反映されまっせ、という記事は結構見かけます。
ですが、いかんせん設定してもerror_pageが全く効かなかったんですよ。
configtestでエラーが出るわけでもなく。
もうね、error_page syntax in nginx isn't working! ですよ。
Tag : nginx | error_page | FastCGI
Posted at 2015/02/21 (Sat) | Category IT[nginx]
Link | No Trackbacks | PageURL |

nginx最大パフォーマンスを出すための基本設定 | Node.js技術
http://nodejs.osser.jp/server/nginx-max-performance/
http://nodejs.osser.jp/server/nginx-max-performance/
/::::::─三三─\
/:::::::: ( ○)三(○)\
|::::::::::::::::::::(__人__):::: | worker_processesをautoに設定できるとか
\::::::::: |r┬-| ,/ 初めて知ったーよ。
ノ:::::::::::: `ー'´ \
/:::::::: ( ○)三(○)\
|::::::::::::::::::::(__人__):::: | worker_processesをautoに設定できるとか
\::::::::: |r┬-| ,/ 初めて知ったーよ。
ノ:::::::::::: `ー'´ \

現在扱っているサイトで1日30万PVを超え始めてちょっと重いかなというサーバが出てきたので、nginxのモニタリングでググってみると
How to monitor nginx - Server Density Blog
https://blog.serverdensity.com/monitor-nginx/
上記サイトにngxtopというツールを使ってモニタリングするとか書かれていたので試しに入れてみました。
ngxtopをインストールする方法はすごく簡単
pipが既にインストールされているなら2行目だけでおk。
そんで、ngxtopを動かしてみたらこんな感じになりました。


個人的には「tail -f」でログを眺めるのが一番性に合ってたりもします。
[参考]
Python - いつの間にかpipのインストールが楽になってた件 - Qiita
http://qiita.com/who_you_me/items/831d62f396e6d66dda66
lebinh/ngxtop · GitHub
https://github.com/lebinh/ngxtop
How to monitor nginx - Server Density Blog
https://blog.serverdensity.com/monitor-nginx/
上記サイトにngxtopというツールを使ってモニタリングするとか書かれていたので試しに入れてみました。
ngxtopをインストールする方法はすごく簡単
curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
pip install ngxtop
pipが既にインストールされているなら2行目だけでおk。
そんで、ngxtopを動かしてみたらこんな感じになりました。

うーむ、これならApachetopでもいいんじゃないかと思った件について。

個人的には「tail -f」でログを眺めるのが一番性に合ってたりもします。
[参考]
Python - いつの間にかpipのインストールが楽になってた件 - Qiita
http://qiita.com/who_you_me/items/831d62f396e6d66dda66
lebinh/ngxtop · GitHub
https://github.com/lebinh/ngxtop

最近画像サーバを用意する機会があったので、メモメモ。
nginx.conf上でexpireで10日間の設定。
nginx.conf上でexpireで10日間の設定。
location ~ .*\.(jpe?g|gif|png|css|js) {
access_log off;
expires 10d;
}

設定変えてみたりして色々試してみたけど、ずっとphpファイルにアクセスしてもダウンロードされてしまうだけと言った状況が続いてましたが、いざ解決するとブラウザのキャッシュが効いていてしまっていてサーバの設定を変更しても反映されてなかっただけっぽかったような・・・(^q^)
とりあえずコピペ用に /etc/nginx/conf.d/virtual.conf のメモメモ。
とりあえずコピペ用に /etc/nginx/conf.d/virtual.conf のメモメモ。
server {
listen 80;
server_name hogehoge.com;
access_log /var/log/nginx/access_hoge.log;
error_log /var/log/nginx/error_hoge.log;
location / {
root /var/www/****;
index index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/****/$fastcgi_script_name;
include fastcgi_params;
}
}