読者です 読者をやめる 読者になる 読者になる

NginxでUnicornが別Portへリダイレクトしてしまう

$http_host は ポート含む $host は、ポート含まないたとえば、このような経路でサイトを表示させるとき、 ブラウザ =(80)=> Cloud Front =(8000)=> ELB =(80)=> Nginx =(socket)=> Unicorn このようにポート8000にして通過させると、Unicorn 側に 8000ポー…

Wordpress で visual editor の タブが表示されないとき

原因不明だが、'wp-includes/js/tinymce' フォルダを、再ダウンロードしたファイルで置き換える User > Your Profile ページの Visual Editor にチェックが入っている nginx などで、user agent に、empty の文字列を渡している というのありえるようだ。

CloudFront 使用時、scheme を取得する

CloudFront を使用時、https での通信でも、nginx の $scheme に http が入ってしまっている。CloudFront-Forwarded-Proto ヘッダーに、original の scheme が入っているので、それを利用する。 CloudFront Whitelist Headers に、CloudFront-Forwarded-Prot…

nginx Rails Mysql の構成で、アクセス負荷に耐えるためとりあえずやっておくこと

Too many open files nginx (/etc/nginx/nginx.conf) # CPU と同じ数 worker_processes 8; # worker_connections の 4倍程度 # failed (24: Too many open files) に対処できる。 worker_rlimit_nofile 40960; events { # とりあえずこの値 worker_connectio…

nginx で F5 アタックに耐えるための設定

IPアドレスによって、1秒間に1リクエストに制限する設定。 超えた場合は、503を返します。burst の設定がある場合は、rate を超えても、burst回数までは許容し、rate のペースでレスポンスを返します。 limit_req_zone $binary_remote_addr zone=one:10m rat…

nginx + php-fpm fastcgi で キャッシュする

fastcgi_cache_path /var/cache/nginx/fscgi levels=1:2 keys_zone=fscgi_dayo:10m inactive=10m; server { listen 80; server_name test.com; access_log /var/log/nginx/access_dayo.log ltsv; error_log /var/log/nginx/error_dayo.log warn; root /var/w…

プログラムから動的に mp3 file を返すとき、safari で再生されない

携帯電話などではお馴染みだが、Rangeヘッダーがついている場合は、 206 のステータスで部分的に返す必要がある。safari でだけ再生されなかったが、 返しているデータバイト数が1バイト足りないためだった。 def main # 何かの方法で読み込む bin = load se…

nginx Cybertrust 証明書更新方法

忘れるのでメモ hoge.key (申請時に作成した、秘密鍵) と hoge.cer (サーティフィケーションファイル) を用意する 中間証明書をダウンロード https://www.cybertrust.ne.jp/ssl/support/download_ca.html A. 携帯電話接続がある場合 [クロスルート(4階層)]…

アプリケーションで認証後にS3のコンテンツを返す PHP

unicorn サブディレクトリで起動する

設定追加 ./config.ru # This file is used by Rack-based servers to start the application. require ::File.expand_path('../config/environment', __FILE__) map ENV['RAILS_RELATIVE_URL_ROOT'] do run MyAppName::Application end 公開用のディレクト…

Nginx 1.3.13をインストール

socket.io をリバースプロキシさせたかったので、Nginx 1.3.13をインストールしてみた。 $ wget http://nginx.org/download/nginx-1.3.13.tar.gz $ tar xf nginx-1.3.13.tar.gz $ aptitude install libpcre3-dev zlib1g-dev libssl-dev libxslt1-dev libgd2-…

アプリケーションで認証後にS3のコンテンツを返す

Rails の controller 側 class DownloadController < ApplicationController def action # 認証処理 ... resource_id = 2 resource = Resource.find resource_id response.header['X-Accel-Redirect'] = '/reproxy' response.header['X-Reproxy-URL'] = reso…

rails + unicorn + nginx

nginx の設定 以下は自分で作成する必要のあるファイル(ubuntuの場合この位置) $ vim /etc/nginx/sites-available/hoge upstream application-unicorn { # Unicornのソケットを指定: server unix:/tmp/unicorn_tagrid.sock fail_timeout=0; } server { ・・…

nginx + PHPをインストールする

よくあるサンプルでは、epelからインストールしているが、 nginx のサイトに最新のリポジトリがあるのでそこから取得するのが楽で新しい。 # vim /etc/yum.repos.d/nginx.repo http://wiki.nginx.org/Install サイトを参考に以下のように記述 [nginx] name=n…