Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

レッドハット製品 Red Hat Enterprise Linuxをはじめ、コンテナプラットフォームや自動化プラットフォームなど、エンタープライズ領域で利用されるオープンソースソフトウェアのソリューションを提供いたします。 Red Hat Enterprise Linux サイオスOSSよろず相談室 「サイオスOSSよろず相談室」は、サイオステクノロジーが企業向けにオープンソース・ソフトウェア(OSS)のサポートを実施し続けてきた中で培われた技術力とナレッジをご提供し、お客様のOSS積極活用を支援するサポートサービスです。最新のOSSにも取り組んでおり、商用製品のサポート品質に匹敵する手厚いサービスを各種OSSでご利用いただけます。
はじめに モバイルアプリや、マイロサービスが進んできている昨今において、リクエスト元とリクエスト先のドメインが必ず同じとは限らない状況が多々あると思います。 そこで、Javascriptだと回避策としてJSONP使うかCORS設定するか?がメジャーどころですが、今回は後者のCORS設定についてです。 HTTPサーバーはNginxを利用しています。 直面した事 NginxでCORS設定していて、何らかの原因、例えばサーバーサイドのプログラムにエラーがあって500番のHTTPレスポンスが返されるとします。その場合に、なぜかCORSのエラーが出るといった現象に遭遇しました。 localhost:5555→localhost:1000 にリクエストした時に502 BadGatewayをわざと発生させて、そうするとアクセス元のブラウザではCORSのエラーが出ます。 Javascriptで開発している
※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2011/07)です。 ※ 情報が古い可能性もありますので、ご留意ください。 たとえば、GET メソッド以外のリクエストをログに出力させたい場合は、設定に以下のように書く。 # 鬼のようにトラフィックあるサイトとかね・・・。 location / { root /path/to; access_log logs/access.log; if ( $request_method = GET ) { access_log off; } }ログの出力有無以外にも、下記のような感じで、 if ( $request_method = GET ) { (設定を記述) }リクエストメソッドを条件にして設定を記述できる。 メソッドの指定部分は、もちろん正規表現も使えるので、複数条件もOK。
nginxとPHP-FPMを使用するWebサーバーは、特定の条件下でこの欠陥に対して脆弱です。 背景 10月22日、セキュリティ研究者のOmar Ganiev氏は、PHPのFastCGI Process Manager(FPM)であるPHP-FPMにおける「パッチが適用されたばかり」のリモートコード実行の脆弱性に関するツイートを公開しました。 このツイートには、脆弱性の概念実証(PoC)が公開されたGitHubリポジトリへのリンクが含まれています。 Freshly patched RCE in PHP-FPM:https://t.co/kaVsCStBJx Exploit:https://t.co/VLmhxMWVxo Many nginx+PHP configurations vulnerable, watch out! — BECHED (@ahack_ru) October 22,
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.
nginxが403を返す理由は様々です。 まずはこちらをざざっと参照し、気になるポイントがあったら試してみましょう: www.1and1.com 僕は時々はシンボリックリンクを設定して403になってしまい頭を抱えてしまいます。数年に一回ぐらいのペースでやらかすので、毎回ググってるんですよね。 たとえば以下のように、your-project 以下に存在する assets ディレクトリを https://localhost/assets でアクセスできるようにしようとして、シンボリックリンクを設定すると403になったりします。 $ cd your-project $ ln -s assets /usr/local/var/www/assets この場合は nginx.conf に location /assets/ を追加すると良いでしょう。 location /assets/ { root
「Nginx の location の書き方がわからない!」そう思ったことはありませんか? ネストするとおかしくなる 同じ階層にあるうち一つしか適用されない 同じ階層のlocationディレクティブの演算子をすべてチェックしないと、どれが適用されるかわからない このように、Nginx の locationディレクティブは直感的ではなく、クセのある動作をします。 今回はとてもカンタンで、ファイル分割管理が楽になるやり方をご紹介します。 locationの基礎事項 まずlocationの基礎知識ですが、locationは並列して書かれていた場合、どれか一つのみ適用されます。どれが適用されるかは演算子によります。 「=、^~、~、~*、なし」の順に適用されます。 =完全一致 ^~前方一致~case-sensitive*1な正規表現 ~*case-insensitive*2な正規表現 なし前方一致
http { : log_format json escape=json '{"time": "$time_iso8601",' '"host": "$remote_addr",' '"vhost": "$host",' '"user": "$remote_user",' '"status": "$status",' '"protocol": "$server_protocol",' '"method": "$request_method",' '"path": "$request_uri",' '"req": "$request",' '"size": "$body_bytes_sent",' '"reqtime": "$request_time",' '"apptime": "$upstream_response_time",' '"ua": "$http_user_agent",'
はじめに 僕は盲目的にunicornを起動するためだけにnginxを使っていて、設定ファイルの内容とかをほとんど知らない。 なので、ここにnginxの設定内容をまとめる事で自分自身が覚えようと思う。 普段使う大抵の設定は記載しているつもりです。 記載内容は実際に試したものと試してないものが混在してるので、誤った設定などがあるかもしれないのでその辺はコメントでご指摘いただけると助かります。 インストール インストールについては僕が書くより他の人の記事を見た方がいいと思う。 centosに入れるなら以下の記事が参考になる。 CentOS6.xにてnginxの最新版をインストールする手順 CentOS 6.5でnginxを動かす為の最低限の設定 またchefでインストールする場合は以下の記事が役にたつ。 Chefでnginxを導入してみる ChefでNginxをインストールするときにハマった c
以前書いたとおり、ApacheではリバースプロキシでバックエンドとHTTP2通信することができます。 asnokaze.hatenablog.com Nginxの場合は、開発者のメーリングリストでGoogleの人が書いてる「ngx_http_v2_upstream」パッチを利用することでバックエンド(upstream)とHTTP2通信することが出来るようになります。 パッチ [PATCH 01 of 14] Output chain: propagate last_buf flag to c->send_chain() [PATCH 02 of 14] Upstream keepalive: preserve c->data [PATCH 03 of 14] HTTP/2: add debug logging of control frames [PATCH 04 of 14] HTTP/
nginx-buildというGo製のソフトウェアがあります。名前の通りnginxをbuildするために使用するソフトウェアです。そのnginx-buildでLibreSSLの静的リンクが簡単にできるようにするPRをマージしてもらえました。 コメントにも書いたように、今までのコードはコンパイルオプションに渡すオプション名とソフトウェア名が一致している事が前提になっていました。しかしLibreSSLのオプション名は — with-opensslで一致しません。またOpenSSLと同様のオプションを付与しなければならないのでところどころ特別扱いしています。その辺りが一筋縄では行かないので少し面倒でした。 nginxとLibreSSLについて少し書いてみます。 nginxは大体のOSの標準パッケージで入るので適当に利用したいだけなら標準パッケージから入れれば十分です。しかしnginxはApache
タイトルは釣り、かつ、自分のための備忘録です。 マイクロサービスアーキテクチャでサービスを構築すると、APIサーバをサービスごとに立てるわけですが、 ブラウザ上のJSエンジンからAPIサーバを叩く時に避けて通れないのが、Same-Origin Policy(同一生成元ポリシー)によるCORS (Cross-Origin Resource Sharing)制限です。 これを回避するには、APIサーバ側でAccess-Control-*ヘッダを適切に返す必要がありますが、どう設定するべきかの情報が意外と少ないので(自分的)これが決定版! という設定を考えてみました。 結論 nginxの場合の設定例です。 server { listen 80; server_name site.localhost; charset utf-8; root /var/www/app/public; locatio
今回はリバースプロキシについて勉強してみました。 「リバースプロキシってなんなのさ」という方は一緒に手を動かしながらご覧ください。 なお、今回の目的はあくまで「プロキシサーバとはなにかを理解すること」なので、実際に運用するときに大事な設定をすっ飛ばしたりしています。 そのあたりの詳細の理解については参考リンクなどをもとにして深めていただければと思います。 まず、「リバースプロキシ」とはなにか ひとまず愚直にWikipediaで調べてみましょう。 リバースプロキシ(英: Reverse proxy)または逆プロキシは、特定のサーバへの要求を必ず経由するように設置されたプロキシサーバ。一般的なプロキシとは異なり不特定多数のサーバを対象としない。リバースプロキシは、不特定多数のクライアントから寄せられる要求に対して、応答を肩代わりすることにより特定のサーバの負担を軽減したり、アクセスを制限するこ
最近 Fluentd の通信プロトコルまわりをアップデートするためにあれこれいじっている*1んだけど、これはおおむね fluent-plugin-secure-forward がサポートしていた内容を Fluentd 組込みの forward plugin でもサポートしますよ、というものになる。 んで問題なのが secure-forward は SSL/TLS での接続のみしかサポートしてなかったんだけど forward では生の TCP で通信する*2ので、本当に secure-forward と forward それぞれの実装間で互換性が保たれているのか、直接的には確認する手段がない、ということになってしまう。 TCP server の SSL/TLS 化 一方世の中には SSL/TLS ターミネータという機能があって、たとえばロードバランサなんかがこの機能を持っている。何をやるかと
OpenRestyはnginxのほかにngx_luaをはじめとするCで書かれた各種サードパーティモジュールとngx_luaのAPIを利用したrestyモジュール、そしてLua/LuaJITで構成されています。 OpenRestyに含まれているnginx自体は本家のnginxと基本同じなので、別にOpenRestyを利用しなくても自分でngx_luaを組み込んだり、サーバ上にrestyモジュールを配布することで似たような環境を構築することは可能ですが、OpenRestyであれば主要なモジュールやライブラリが./configure、make、make installの一連の流れですべてゴソッとインストールされますし、OpenRestyのconfigureスクリプトはnginxのconfigureスクリプトを継承したものなのでnginxのconfigureオプションをほぼそのまま利用することもで
第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜 で発表した資料です http://pepabo.connpass.com/event/30348/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く