Nginx+php-fpmで固定の値を渡したい

パスワードなどgit管理したくないものをパラメータ化して渡してみました
Nginx + php-fpm だと迷ったのでメモ

PHP: 設定 - Manual

あたりを見ると、プール設定ファイルにかけばいいとあります
探して編集

$ vim /etc/php5/fpm/pool.d/www.conf

clear_env = no
env[SAMPLE_PARAM] = "123456"

clear_envをオフにしてパラメータをセットしてみて

getenv('SAMPLE_PARAM');

とphpで値が取れるようになりました

クリックジャッキング対策をNginxのサイトにしてみた

Ubuntu + Nginxで運用しいているサイトを
Observatory by Mozillaっていうのでサイトのセキュリティを調べてみたらD+のランクだったので対応してみました

クリックジャッキング - Wikipedia
の対策ができてなかったのでそこの対応をしました

Nginxの設定を変えます

$ sudo vim /etc/nginx/conf.d/default.conf

  add_header X-Frame-Options SAMEORIGIN;                                           
  add_header X-Content-Type-Options nosniff;                                       
  add_header X-XSS-Protection "1; mode=block";                                     
  add_header Content-Security-Policy "default-src 'self' 'unsafe-eval' https:;";

Content-Security-Policy(CSP)は、httpsだったらOKにしているので、セキュリティとしては良くないです
本来なら、スクリプトの指定や、styleの指定など個別でしたほうがいいです

nginxを再起動して、再度、Observatory by Mozillaで調べてみると

Observatory by Mozilla

Aになりました

参考)
Nginxセキュリティ設定 - Qiita
Content Security Policy の利用方法 - Web セキュリティ | MDN

nginxでPrimary script unknownのエラー

nginxでphp5-fpmを設定してindex.phpとかつくってアクセスするとエラーが..

[error] 29669#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream

設定を確認

$ vim /etc/nginx/conf.d/sakura.conf

fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

がまずかったようです
変えて

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php5-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    } 

アクセスできるようになりました

nginxが古かったので新しくしてみた

あるWebサーバーのproxyにnginxを使っていましたが、かなり古かったです

$ nginx -v

でバージョンが見えます

yumでupdate..と思ったらいなかったので

nginx: Linux packages

からrpmをダウンロードして実行しました

Centos6だったので
$ sudo rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

これで

$ yum update nginx

$ npm -v
nginx version: nginx/1.8.0

で新しくなりました