タグ

nginxに関するmanabouのブックマーク (100)

  • 面倒くさいから nginx の LDAP 認証モジュール公開したよ | IIJ Engineers Blog

    2021年11月にセキュリティ情報統括室に所属。頑固なので、ニックネームだけでもやわらかくひらがなにしてみました。普段はハニーポットで収集したDDoSの発生源であるマルウェアを対象に分析しています。 おはようございます。こんにちは。こんばんは。ふぇにっくちゅん です。 今回紹介するのは nginx で利用できる LDAP 認証モジュール(ngx_auth_mod)です。 nginx は Web サーバやリバースプロキシなどを構築でき、オープンソースとして公開されています。 nginx の詳細はこちらに記載されています。 記事で紹介する ngx_auth_mod は CATSHAND と呼ぶ情報共有システムのモジュールとして開発したものです。 情報共有についての記事「情報を流れに乗せよう:セキュリティ調査の共有方法」も併せて一読ください。 CATSHAND のシステムは Web サーバとし

    面倒くさいから nginx の LDAP 認証モジュール公開したよ | IIJ Engineers Blog
  • NGINX PlusでJWT認証をやってみた!|東京エレクトロンデバイス

    みなさん、こんにちは。 東京エレクトロンデバイスでエンジニアをやっているあつふみです。 今回は、grasys様とリレー形式のブログがTEDとしては第1回目ということで、私からはセキュリティをテーマとしてNGINX Plusを使ったJWT認証について紹介したいと思います。ちなみにgrasys様については、以下を見てみてください。すごい会社です。 grasys様は3大クラウドの活用と世界トップレベルのプラットフォームを組み合わせ、お客様のインフラを最適化されております。 ホームページに書かれている通り高い技術力が売りの会社となりますので、クラウドでシステム構築を検討している方は是非ご相談頂ければと思います。 株式会社grasys:https://www.grasys.io/ それでは、題に入ります。NGINX Plusでしか使えない機能の1つにJWT認証があります。 JWT認証はAPIクライ

    NGINX PlusでJWT認証をやってみた!|東京エレクトロンデバイス
  • CDNは5時間で開発できる | POSTD

    「CDN」(content delivery network)という言葉からは、Googleのような大企業がいくつもの巨大なハードウェアを管理し、1秒当たり何百ギガビットものデータを処理する様子が想像されます。しかし、CDNは単なるWebアプリケーションです。私たちのイメージとは違いますが、それが事実です。8年前に買ったノートパソコンを使って、コーヒーショップの席に座りながらでも、きちんと機能するCDNを構築できます。この記事では、これから5時間でCDNを開発しようとするときに、直面するかもしれないことを紹介します。 まずはCDNの機能を明らかにしておきましょう。CDNはセントラルリポジトリ(通称:オリジン)からファイルを吸い上げ、ユーザーに近い場所でコピーを保存します。初期のオリジンはCDNのFTPサーバーでした。現在、オリジンは単なるWebアプリとなり、CDNはプロキシサーバーとして機

    CDNは5時間で開発できる | POSTD
  • GitHub - SteveLTN/https-portal: A fully automated HTTPS server powered by Nginx, Let's Encrypt and Docker.

    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

    GitHub - SteveLTN/https-portal: A fully automated HTTPS server powered by Nginx, Let's Encrypt and Docker.
  • docker で全自動 Let's encrypt - Qiita

    https-portal があまり知られてないようなので紹介記事だけ書いとく。 https://github.com/SteveLTN/https-portal あなたがすでにhttpで動作するサービスのdockerコンテナを持ってるなら、こいつを docker-compose に加えるだけで https 対応は完了。 え? 加えるだけで完了。 まじです。 https-portal は何をするものか 基的には https のリクエストを受け取り、他のコンテナの http へ転送するリバースプロキシとして動作する nginx である。 ところで https を提供するには証明書の取得、設定などが必要だが、こいつはそれを全自動でやってくれる。 え? 証明書の取得、設定を全自動でやってくれる。 まじです。 期間延長も自動でやってくれるらしい。 まあとにかく便利なので、 Let's encryp

    docker で全自動 Let's encrypt - Qiita
  • Dartでリバースプロキシを作ってみる - LiBz Tech Blog

    はじめに 低レイヤプログラミングという記事をみて、普段扱っているものが、どのようにして動いているのか理解できていないことが多いなと反省しています。 なので、普段使っているものの仕組みを改めて学んでいこうと思います。 なぜリバースプロキシか 元々PHPをやっていたが、転職してからRailsをやることになって、「RailsではWebサーバーとアプリケーションサーバーを分けて動かしているのかー」とやや不思議に思ってました。 理由としては、PHPではApacheがいろいろやってくれていたようなので、あまり意識していなかったからだと思います。 なんとなくの印象では、Webサーバーとアプリケーションサーバーでは「大きく捉えるとリクエストを受けて処理して結果を返すじゃん」とテキトーな理解でした。 nginxが大量のトラフィックを捌くのが得意とか、そういうことは知ってましたが、同じようなものだと認識してい

    Dartでリバースプロキシを作ってみる - LiBz Tech Blog
  • GitHub - trimstray/nginx-admins-handbook: How to improve NGINX performance, security, and other important things.

    Before you start playing with NGINX please read an official Beginner’s Guide. It's a great introduction for everyone. Nginx (/ˌɛndʒɪnˈɛks/ EN-jin-EKS, stylized as NGINX or nginx) is an open source HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server with a strong focus on high concurrency, performance and low memory usage. It is originally written by Igor Sysoev.

    GitHub - trimstray/nginx-admins-handbook: How to improve NGINX performance, security, and other important things.
    manabou
    manabou 2019/02/08
    [[performance][security][reference]
  • Nginxへの変更に伴うリバースプロキシのテストの改善 - クックパッド開発者ブログ

    Nginxへの変更に伴うリバースプロキシのテストの改善 SREグループの菅原です。 クックパッドではブラウザ用Webサイトのリバースプロキシ用のWebサーバとして長らくApacheを使っていたのですが、最近、Nginxへと変更しました。 Nginxへの変更に当たって、構成管理の変更やテストの改善を行ったので、それらについて書きたいと思います。 リバースプロキシのリニューアルについて まず、ブラウザ用Webサイトの基的なサーバ構成は以下のようになります。 リバースプロキシはELB経由でリクエストを受けて、静的ファイルの配信やキャッシュサーバ・Appサーバへの振り分けを行います。 リバースプロキシとして利用されているApacheは、長年の改修により設定が煩雑なものとなっており、設定の追加や変更にコストがかかる状態になっていました。 また、Apacheの設定ファイルはItamaeでは管理されて

    Nginxへの変更に伴うリバースプロキシのテストの改善 - クックパッド開発者ブログ
  • Nginx でリバースプロクシを立てるときに気にすべき proxy_next_upstream 設定 - 無印吉澤

    個人的に、Nginx で「これは危険だ」と思っている設定があって、Nginx でなにかあるたびにその設定をつい疑ってしまいます。その設定について他の人に話すたびに、いちいち資料を集めるのが面倒になってきたので、今回はその設定項目についての情報をまとめておきます。 まだ理解に自信がない部分があるので、新しい情報が入ってきたら、この記事を適宜修正します。 リバースプロクシ設定の基 Nginx をリバースプロクシとして使う時には、ngx_http_upstream_module でサーバのグループを定義します。そして、サーバ名やロケーション(パス)に対して、送信先のグループを指定します。 以下はマニュアルにある例です。その Nginx サーバへのすべてのアクセスを、backend グループに指定されたいずれかのサーバに送信します。 upstream backend { server backe

    Nginx でリバースプロクシを立てるときに気にすべき proxy_next_upstream 設定 - 無印吉澤
  • nginx と Let's Encrypt で1台のサーバーで複数サイトを SSL 化 - Qiita

    ここではLet's Encryptとnginxを使ってサイトをSSL化する方法と、さらにそのままnginxの機能を使って1台のサーバーで複数のサイトを運営し、それらのすべてSSL化した時にやったことをご紹介します。 nginxの設定ファイルを公開しましたので、詳細はこちらを参照してください。 https://github.com/TakuKobayashi/ActivatingNginxConf SSLとは SSLとはデータを暗号化して通信を行う仕組みです。 SSLを使うことができるようにすると、URLに以下のようにhttps://であったり(HTTPの場合)、wss://(Websocketの場合)といったURLを使うことができるようになります。 詳しくはこちらなど SSL証明書 サーバーをSSLに対応させて通信を行えるようにするためにはSSL証明書というものが必要です。 SSL証明書

    nginx と Let's Encrypt で1台のサーバーで複数サイトを SSL 化 - Qiita
  • 定額プロバイダ併用で転送量破産に備える

    定額プロバイダ併用で転送量破産に備える Tweet はじめに 今回は、転送量課金が定額制のプロバイダを利用してコスト削減に成功した事例を紹介します。この事例そのものは当社特有のケースになりますが、似たような考え方が適用できるケースは多いと思います。 当社はインフラをほぼ全面的にAWSに移行していますが、コストの内訳を見るとおよそ三分の一が転送量課金でこの割合が増える傾向にあります。また、月々の変動が激しいのも転送量課金です。 従って、コストを考える上で転送量課金の管理が重要になるのですが、これはなかなか難しい課題です。その理由は、AWSにおいては、転送量課金を削減するオプションがあまりないことです。これは、長くAWSを使っていると、多くのユーザが悩まされる問題ではないかと思います。 インスタンスの料金であれば、リザーブドインスタンスとかスポットインスタンスとか、いろいろなオプションがあって

    定額プロバイダ併用で転送量破産に備える
  • Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog

    [20170809追記] nginx-1.13.4に ngx_http_mirror_module は含まれました Nginxで、リクエストを複製するmirrorモジュールがコミットされ、何もせずとも使用できるようになりそうです(現状最新コミットをビルドする必要あり)。 例えば番環境のproxyからリクエストを複製して開発環境に流すような事も出来ます。もちろん複製処理は来のリクエスト処理をブロックしません。 例えば以下のように、mirrorに来たリクエストを複製してバックエンドサーバに投げるようにしてみます conf server { listen 80 ; server_name localhost; mirror_request_body on; log_subrequest on; location /mirror { mirror /proxy; #/proxy宛にリクエストを

    Nginxで、リクエストを複製するmirrorモジュールが標準搭載された - ASnoKaze blog
  • NGINX Microservices Reference Architectureの3モデルを紹介 - Evolutionary Architectures

    Nginx, Inc.のMicroservices Reference Architecture(MRA)についてのドキュメントでProxyモデル、Router Meshモデル、Fabricモデルという3つのネットワーキングモデルが解説されている。 GoFのデザインパターン然り、名前が付いている、というのは重要なことだ。項ではこの3モデルについて紹介する。 1. Proxyモデル Proxyモデルはマイクロサービスアプリケーションのフロント側にリバースプロキシクラスターを配置する。 出典元: MRA Part 2 – Proxy Model Proxyモデルは比較的単純であり、API Gateway、初期のマイクロサービス、もしくは、複雑なレガシーモノリシックアプリケーションを変換する際のターゲットとして適している。特に大規模なマイクロサービスやトラフィックについての負荷分散に適している

    NGINX Microservices Reference Architectureの3モデルを紹介 - Evolutionary Architectures
  • CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog

    日コーポレートサイトでお知らせした通り、Web版のメルカリにおいて一部のお客さまの個人情報が他者から閲覧できる状態になっていたことが判明しました。原因はすでに判明して修正が完了しております。また、個人情報を閲覧された可能性のあるお客さまには、メルカリ事務局より、メルカリ内の個別メッセージにてご連絡させていただきました。 お客さまの大切な個人情報をお預かりしているにも関わらず、このような事態に至り、深くお詫びを申し上げます。 エントリでは技術的観点から詳細をお伝えさせていただきます。 2017年6月27日 CDNのキャッシュの動作について、CDNプロバイダと仕様について確認し検証を行いました。その結果一部記述に実際と異なる箇所があり、加筆修正いたしました。 概要 メルカリWeb版のコンテンツキャッシュをしているCDNのプロバイダ切り替えを行いました。 その際来キャッシュされるべきでない

    CDN切り替え作業における、Web版メルカリの個人情報流出の原因につきまして - Mercari Engineering Blog
  • GitHub - shi3z/docker_nginx: Simple Dockerfile and setting for running nginx

    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

    GitHub - shi3z/docker_nginx: Simple Dockerfile and setting for running nginx
  • ngx_mrubyで最初のHTTPSアクセス時に自動で証明書を設定可能にするFastCertificateの提案とPoC - 人間とウェブの未来

    Let’s EncryptやACMEプロトコルによるDV証明書取得の自動化に伴い、証明書の取得と設定が簡単になってきました。 一方で、ACMEをツール化したものが増えるに従って、ACMEってそもそもどういう動きになっているのか、とか、自分たちの用途でどういう使い方がありえるのかとかが余計にわかりにくくなってきており、どこまで自動化できるかもよくわからない場合が多いのではないでしょうか。 そこで、 ドメインとAレコードの紐付けさえしていれば、最初のアクセス時に自動で証明書をとってきて、HTTPS通信にできないか というような、いわゆる FastCertificate 的な動きを実現したいと考え、ACMEの通信の中で各種処理を別のスクリプトでhookできるdehydratedとngx_mrubyを応用して実現可否も含めてPoCを実装してみました。 ※ FastContainerという考え方につ

    ngx_mrubyで最初のHTTPSアクセス時に自動で証明書を設定可能にするFastCertificateの提案とPoC - 人間とウェブの未来
  • Rundeckの前段にnginxを配置してhttps化する - Qiita

    はじめに RundeckはデフォルトだとWebの管理画面はhttpなんだけど、まともに使うならhttps化しておきたい。 いちおう、Rundeck単体でもSSLの設定することは可能っぽいんだけど、 http://rundeck.org/docs/administration/configuring-ssl.html 見るからにちょっと、めんどくさそうで、Rundeck初心者には敷居が高そうである。 ところで、Rundeckの前段にnginxを配置してhttps化する構成なら大体nginxの知識+αでなんとかなりそうなので、nginxでSSL復号化する構成にしてみる。 RundeckのSSL復号化をnginxにオフロードする 前段のnginxでSSL復号化する構成については、公式wikiに以下のような簡単な説明があるんだけど、 https://github.com/rundeck/runde

    Rundeckの前段にnginxを配置してhttps化する - Qiita
  • nginxのTCPロードバランシングを試す - CLOVER🍀

    先日、nginxのHTTPでのロードバランシングを試しました。 nginxのHTTPロードバランシングを試す - CLOVER 次は、もっと汎用的にTCPでのロードバランシングをしてみたいと思います。なお、今回はTCPのみで扱いますが、UDPでのロードバランシングも可能なようです。 ドキュメント 主要に利用するモジュール的には、 Module ngx_stream_core_module と Module ngx_stream_upstream_module の2つとなります。 また、こちらのドキュメントも参考にしました。 NGINX Docs | NGINX Load Balancing – TCP and UDP Load Balancer MySQLへの接続をロードバランシングしてみよう 今回のTCP接続の対象として、MySQLサーバーを持ち出してみます。 MySQLサーバーが、次の

    nginxのTCPロードバランシングを試す - CLOVER🍀
  • TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ

    最近 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 ターミネータという機能があって、たとえばロードバランサなんかがこの機能を持っている。何をやるかと

    TCP serverをSSL/TLS化するのに nginx の stream_ssl_module/stream_proxy_module が便利 - たごもりすメモ
  • nginxによるTCPロードバランサー | メルカリエンジニアリング

    SREチームの@cubicdaiyaです。今回はnginxによるTCPレイヤーでのロードバランスについて解説します。 ロードバランサーとしてのnginx nginxはHTTPやTCP、UDP等の複数のレイヤーでロードバランサーとして稼働させることができます。(TCPロードバランサーは1.9.0以降、UDPロードバランサーは1.9.13以降で利用可能です) また、ngx_http_ssl_module や ngx_stream_ssl_module を利用することでそれぞれのレイヤーでTLSを有効化することも可能です。 TCPロードバランサー用のモジュールを有効にする HTTPレイヤーでロードバランスするためのモジュールはデフォルトで組み込まれますが、TCP(とUDP)レイヤーでロードバランスするにはnginxのconfigureスクリプトに--with-stream(あるいは --with

    nginxによるTCPロードバランサー | メルカリエンジニアリング