Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
★以下はパブリックベータ時点の方法です。仕様が変わってる可能性があります。★ 最終動作確認: 2016年3月6日 Let’s Encrypt とは Let’s Encrypt - Free SSL/TLS Certificates https://letsencrypt.org/ すべてのWebサイトの暗号化を目指す事を目標に、無料でSSL/TLS証明書を発行している、アメリカの非営利団体が運営しているサービスです。無料ということで疑ってかかる気持ちにもなりますが、Let’s Encrypt のスポンサー には Mozilla、Akamai、Google などが名を連ねています。というように金のあるガチなプロジェクトなので信頼性は高いと言えます。ただし、2016年3月現在パブリックベータ版です。全てのWebサイトを暗号化するのはとても好ましいことですので、個人的にとても応援しています。 不
Module ngx_http_realip_module http://nginx.org/en/docs/http/ngx_http_realip_module.html ELBを使ったときに、EC2ではアクセス元のIPアドレスがELBのIPアドレスとなります。 このとき、ELBはヘッダー情報 X-Forwarded-For にクライアントのIPアドレス格納して情報をEC2に渡すので、これをnginxモジュールを利用して、リアルIPとして扱うように設定をすることができます。 以下、設定方法です。 現在のアクセス元のIPアドレスを確認。 確認のために phpinfo() のファイルを開いてみます。 これは、ELBのIPアドレスになっています。 # curl -s http://test-247271050.ap-northeast-1.elb.amazonaws.com/ | grep
タグ: Laravel4 Laravel5 注意: 前の記事は完全に削除しました。同じ記事をタイトルを変更し公開します。 記事を書く前にNginxをいろいろいじっており、その時fastcgiのキャッシュを使うとクッキーも含まれることに気づいていました。この対策をしなくてはと思いながらも、別の要件が解決できたため、この記事を作成しましたが、この問題を解決するのを忘れていました。 fastcgiキャシュは、fastcgi側から送られてくる情報をそのまま保存するだけです。Laravelはセッションクッキーを特に意識しなくても付けます。いくら暗号化されているとはいえ、クッキーを含んだキャッシュが返されると、その保存されているセッション情報が他のユーザーに届きます。これはセキュリティリスクです。 そのため、Nginxのデフォルトでは、クッキーが含まれている場合、キャッシュしないようになっています。そ
Tengineはアジア最大級のECサイト「淘宝網」が公開しているWebサーバです。 The Tengine Web Server alibaba/tengine Nginxをベースにいくつかの機能拡張を行い、また開発も続いていて最新のstableバージョンに追従しているようです。 主な機能拡張は上記のサイトにも上がっていますが、興味があるところを上げると、 nginx-1.6.2をベース。nginxと100%互換性がある ダイナミックなモジュールの読み込みをサポート。モジュールの追加にTengineの再ビルドが必要ない SO_REUSEPORT をサポート。接続がnginxの3倍高速化 SPDY v3をサポート upstreamの負荷分散方式の追加。consistent hashやsticky session、upstreamのヘルスチェック、リクエスト処理中のホスト名の名前解決 acce
NginxでHTTPS:ゼロから始めてSSLの評価をA+にするまで Part 2 – 設定、Ciphersuite、パフォーマンス 今日のインターネットの世界では、一般的な静的Webサイトも含め、 全てのWebサイト に、強固で安全なHTTPSのセットアップが必要となります。この記事は、Nginxセキュリティをどのようにセットアップするのかに関するシリーズのパート2です。 パート1 は、Webサーバに有効な署名証明書をセットアップする話で終了しました。しかしこれには、最適な設定とは言い難い、デフォルトのNginxの設定を使用していました。 この記事を読み終えれば、SSL Labsのレポートで、A+の評価を獲得できる安全なHTTPSの設定ができます。それだけでなく、追加でいくつかの微調整も行い、パフォーマンスそしてUXも向上させていきます。 ここに掲載した記述やコードの抜粋の他にも、すぐに使
CentOS 5.5 (Final) Nginx 0.8.54 Nginxの設定ファイルをテストしたところ、「server_names_hash_bucket_sizeを大きくしなさい」というエラーメッセージが表示されました。 # /etc/rc.d/init.d/nginx test [emerg]: could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32 configuration file /etc/nginx/nginx.conf test failed複数のバーチャルホストを設定してserver_names_hash_bucketが足りなくなると、このエラーが発生するようです。/etc/nginx/nginx.confでserver_names_has
意外にハマったのでメモ。 OCSPとは OCSP(Online Certificate Status Protocol)とは、SSL/TLS暗号化通信の初期フェーズにおいて証明書の失効を確認するための手順。 従来は署名所失効リスト(CRL)が利用されていたが、CRLはリストが肥大化しダウンロードに非常に時間がかかるようになってきたため、単一レコードの取得で済むOCSPが、現在では証明書の失効を確認する方法として一般的になった。 OCSP Staplingとは 通常は以下の図のように、証明書をダウンロードしたクライアントがOCSP Responderにサーバ証明書の失効を確認する。 OCSP Staplingに対応すると、以下の図のように証明書の失効確認をサーバ側で処理することができる。 また、OCSPレスポンスは一定の間はサーバにキャッシュされ、都度OCSP Responderに問い合わせ
参考 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でHTTPレスポンスヘッダを限りなく少なくした記録です。 構成はrails+unicorn+nginx nginxのインストール nginxでHTTPヘッダを削除する機能を有効にするにはソースからインストールしてモジュールを追加する必要があるらしい。 ので、ソースからインストールします。 公式から好きなバージョンをDL http://nginx.org/en/download.html とりあえずインストール mkdir /usr/local/src cd /usr/local/src tar xzf nginx-xxx.tar.gz cd nginx-xxx ./configure make make install モジュールを取ってくる cd /usr/local/src git clone https://github.com/agentzh/headers-more-n
d:id:sfujiwara:20100812:1281587030 の revise。 Nginxのifは条件節に&&(and)が使えない、ifのネストもできないので、複数の条件で判別したい場合は変数を使うといいよって感じです。 server { ... #error_page 500 502 503 504 /static/50x.html; ### maintenance error_page 500 502 504 /static/50x.html; set $go_maintenance "true"; if ($uri ~ "^/error/") { set $go_maintenance "false"; } if ($remote_addr ~ "^192\.0\.2\.") { set $go_maintenance "false"; } if ($remote_addr
Celebrating 20 years of nginx! Read about our journey and milestones in the latest blog. nginx first decides which server should process the request. Let’s start with a simple configuration where all three virtual servers listen on port *:80: server { listen 80; server_name example.org www.example.org; ... } server { listen 80; server_name example.net www.example.net; ... } server { listen 80; ser
2009-04-17 クライアントのIPによって振り分け先を変える nginx たとえば、nginxをフロントに使ってるとして、 内部のネットワーク(192.168.0.1/24)からのアクセスをアプリケーションサーバに振り分け それ以外からのアクセスに対して、エラーページ(メンテナンス中のとか)を置いてるサーバに振り分け するとき、nginxの設定だけで実現可能。HTTP ProxyModule と RewriteModule を使う。 今回は使ってないが、Geo Moduleを使えば、かなり柔軟な指定ができると思う。 # 設定例 # サブディレクトリで運用するRailsアプリを振り分け # http://www.hoge.com/app1 # http://www.hoge.com/app2 # http://www.hoge.com/app3 # →アプリケーションサーバ(192.
目的¶ LS4の用途の一つにWebサービスの画像ストレージシステムがあります。このようなWebサイトでは、アプリケーションサーバの前面にHTTPリバースプロキシを設置しているでしょう。 もしHTTPリバースプロキシとして nginx を使っているなら、nginxの “X-Accel-Redirect” 機能を組み合わせる事で、アプリケーションサーバのCPU負荷とトラフィックを削減することができます。 このドキュメントでは、次のようなWebバックエンドシステムを想定しています: Internet | load balancer / reverse proxy (1) / (5) / App (3) (2) | ----------- GW / | +-------------+ (4)| | | | | | +-|--+ +----+ +----+ | MDS | | DS | | DS |
画像配信など大量にアクセスを捌く際にちょっと気になっていたhttpなupstreamとkeepaliveできない件が、nginx-1.1系でできるようになったので試してみた 今回keepaliveできるようになったのは↑のbackendと通信するところ。 本家のドキュメントはこちら http://nginx.org/en/docs/http/ngxhttpupstream_module.html#keepalive keepalive機能を使うには、以下のように設定します http { upstream backend { server 127.0.0.1:5000; keepalive 16; } server { listen 8080; server_name localhost; location / { proxy_http_version 1.1; proxy_set_head
Nginx をリバースプロキシ(キャッシュ) として使ってみた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く