You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Change the reverse proxy upstream of Nginx without Lua 前回の記事(Change the reverse proxy upstream of Nginx by time zone) を見て、 matsuu さん が下記のような設定をGistに掲載されていたので試してみました。 結果、問題なくできたので前回の設定は次のようにシンプルになりました。 map $time_iso8601 $upstream { default "app-b.example.org"; "~T(0|1[01])" "app-a.example.org"; } server { server_name app.example.org; rewrite ^ $scheme://$upstream$request_uri permanent; } upstream a
インフラストラクチャー部 id:sora_h です。クックパッドでは、社内向けの Web アプリ (以降 “社内ツール”) を社外のネットワークから利用する際、アプリケーションレベルでのアクセス制御とは別に、リバースプロキシでもアクセス制御を実施しています。*1 これまで BASIC 認証あるいは VPN による社内ネットワークを経由した接続という形で許可していました。しかし、iOS の Safari などでは BASIC 認証時のパスワードを保存できない上、頻繁に入力を求められてしまいますし、VPN はリンクを開く前に接続をしておく必要があります。これにより、社内ツールを社外で開く時に手間がかかってしまう問題がありました。 これに対し、一部では typester/gate などを導入し Google Apps での認証を行なっていました。しかしいくつか問題があり、非アドホックな対応では
インフラチームの@cubicdaiyaです。今回はnginxのビルドプロセスを自動化するツールであるnginx-buildについて紹介します。 メルカリとnginx メルカリでは多数のnginxを活用し、高速なレスポンスやサービスの安定稼働を実現するのに重要な役割を果たしています。実際の活用事例には、 リバースプロキシ、L7ロードバランサ TLSターミネーション、SPDYゲートウェイ 静的コンテンツの配信、キャッシュ ngx_dynamic_upstreamを用いたゼロダウンタイムデプロイメント ngx_lua(OpenResty)を用いたサービスコンポーネントの開発 などが挙げられます。そしてメルカリではこれら多数の用途のnginxをnginx-buildでソースコードからビルドしています。(OpenResty以外は合わせてrpm化も行っています) 既存のビルド済みパッケージの利用とソー
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'] = resource.data_url render nothing: true end end nginx の 設定 upstream hoge_sock { server unix:/var/www/html/hoge/current/tmp/sockets/unicorn.sock fail_timeout=0; } server { l
DevCentral Connect & learn in our hosted community MyF5 Your key to everything F5, including support, registration keys, and subscriptions NGINX Learn more about NGINX Open Source and read the community blog NGINX Product Documentation Learn how to deliver, manage, and protect your applications using F5 NGINX products.
(追記:タイトルが少々煽り気味な気がしたので微妙に変更しました。) h2oとnginxの性能比較 nginxよりも速いとされるh2oですが、実際に自分でもローカルでベンチマークを取ってみました。環境は以下の通りです。 EC2のc4.8xlargeインスタンス gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16) Linux ip-172-31-13-40 3.14.35-28.38.amzn1.x86_64 #1 SMP Wed Mar 11 22:50:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux nginx-1.8.0 h2o-1.2.1-alpha1 wrk(ベンチマーク) ベンチマークコマンド 実行するベンチマークコマンドは以下になります。なお、オプションはできるだけRequest/secが大きくなるように調
This article a is translation by popular request of Optimisations Nginx, bien comprendre sendfile, tcpnodelay et tcpnopush I wrote in French in January. Most articles dealing with optimizing Nginx performances recommend to use sendfile, tcp_nodelay and tcp_nopush options in the nginx.conf configuration file. Unfortunately, almost none of them tell neither how they impact the Web server nor how the
I'm running nginx/ruby-on-rails and I have a simple multipart form to upload files. Everything works fine until I decide to restrict the maximum size of files I want uploaded. To do that, I set the nginx client_max_body_size to 1m (1MB) and expect a HTTP 413 (Request Entity Too Large) status in response when that rule breaks. The problem is that when I upload a 1.2 MB file, instead of displaying t
S3 で公開しているバケットをバックエンドに nginx モジュール ngx_small_light を利用して画像をリサイズする方法をメモ http://d.hatena.ne.jp/akishin999/20130619/ にローカルの画像を対象にした画像変換手順が書かれているので、そこに S3 バックエンドを追記しただけとも言える。 ngx_small_light について github で公開 https://github.com/cubicdaiya/ngx_small_light pixiv の中の人が開発した nginx モジュール Apache 向け mod_small_light の nginx 移植 https://code.google.com/p/smalllight/ 画像変換エンジンは ImageMagick/Imlib2/GD から選択可能 構成 client
Nginx 1.4.2で試しました。 ネームサーバーは、ローカルのunboundをlocal-zone, local-dataを使って簡易コンテンツサーバーにして試しました。 local-zone: "oreno." static local-data: "api.oreno. 30 IN A 192.0.2.11" # local-data: "api.oreno. 30 IN A 192.0.2.12" proxy_passにホスト名を書くと→名前解決は一度だけ このように Nginx の設定を書いた場合、 location /api { proxy_pass http://api.oreno:9999; } 「api.oreno」の名前解決は、nginxの起動時に行われます 名前解決できない場合は、nginxは起動しません 名前解決できた場合は、ずっとそのIPアドレスにreverse
nginx.conf �{�dOV # Note (November 2016): # This config is rather outdated and left here for historical reasons, please refer to prerender.io for the latest setup information # Serving static html to Googlebot is now considered bad practice as you should be using the escaped fragment crawling protocol server { listen 80; listen [::]:80; server_name yourserver.com; root /path/to/your/htdocs; error_
久々に技術ネタです。 EC2のElastic Load Balancing便利ですねー。とっても便利です。 何が便利かってSSLをロードバランサーに設定出来るんですね。なので、いちいちインスタンス側に設定しなくてもすみます。 具体的にはまず80番ポートだけでELBを作ります。このあたりはググればすぐ出てくるので割愛します。 次にSSLの設定を行うんですが、CSRの生成とかもよくある話なので飛ばします。 EC2マネージメントコンソールのLoad Balancersから対象のロードバランサーを選択後ListenerからSSLの設定を行います。 Load Balancer ProtocolにHTTPS(Secure HTTP)を選びます Load Balancer Portは443のまま Instance ProtocolはHTTPでInstance Portは80番のままでOKです Ciphe
解説 worker_processes auto; - Nginx本体のプロセス数、autoにしてnginx内部判定に任せるのは賢明 worker_rlimit_nofile 100000; - workerプロセスが最大に開けるファイル数の制限。このように設定したら、ulimit -a以上のファイル数を処理できるようになり、too many open files問題を回避できる worker_connections 2048; - 一つのworkerプロセグが開ける最大コネクション数 multi_accept on; - できるだけクライアントからのリクエストを受け取る use epoll; - Linuxカーネル2.6以上の場合はepoll、BSDの場合kqueue server_tokens off; - セキュリティ対策です、エラー画面のnginxバージョン番号を非表示 sendf
参考 http://wiki.nginx.org/Phases (2016.3追記)上記のURLは ページがなくなっていました。残念ながらオフィシャルページで似た記載が見当たりません。下記あたりを参照してください。 http://www.aosabook.org/en/nginx.html#sec.nginx.internals http://www.nginxguts.com/2011/01/phases/ http://www.programering.com/a/MzN4MzMwATY.html http://www.slideshare.net/joshzhu/nginx-internals/37 lua-nginx-module がフックする処理 lua-nginx-module は、上記の nginx の Phase のうち、Rewrite, Access, Content,
NginxでIf文を if ($host = 'www.example.com' && $request_uri ~ "/admin") という風には書けない。 入れ子にもできません。(ディレクティブなので?) そこで逃げ道は 文字列結合で判定。 if ($request_uri = /) { set $test A; } if ($host ~* teambox.com) { set $test "${test}B"; } if ($http_cookie !~* "auth_token") { set $test "${test}C"; } if ($test = ABC) { proxy_pass http://teambox-cms.heroku.com; break; }
Configuration, Environment Machine Ubuntu14.04 on VMWare Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz 4core Memory 8GB Software version ngx_mruby GitHub latest master df050067427fc8448a3c8589403fdfe336b82136 lua-nginx-module GitHub latest master bc120f9a2279a384e4335bedf765e844b4d22adb nginx 1.7.6 Didn't tune up kernel parameters OS $ uname -a Linux ubuntu14-04-64 3.13.0-24-generic #47-Ubuntu SMP Fri
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く