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.
はじめに 本稿はCharlesというプロキシツールのv4.5.6版の解説です。 【開発支援ツール】Charlesの使い方【神ツール】を書いた人ですが、記事が古くCharlesも更新されていたので書き直し記事みたいなやつです。 Charlesとは アプリ開発をしているとAPIのレスポンスを見たかったり、正しいドメインにアクセスしているかを確認したい場合が出てくると思います。 それが簡単にできる便利なツールがCharlesです!(とても便利) エンジニアなら是非Charlesを使いこなしましょう!!(とてもとても便利) 聡明な皆さんならもちろんご存知の神ツールです。 Charlesでできること ・通信のモニタリング -アクセスしたドメインやAPIのリクエスト/レスポンスのヘッダやボディを確認できます。 ・通信速度のシミュレーション -通信速度を変えて通信できるようになります。タイムアウトのテス
開発時にプロキシはよく使います。Web APIとどんな通信をしているかは、実際のネットワークを見てみるのが一番確かです。入っているはずの認証情報が入っていなかったり、URLが異なっているのに気付くのにもプロキシが使えます。 今回紹介するBroxyはHTTP/HTTPS両方に使えるプロキシソフトウェアです。 Broxyの使い方 設定画面です。独自のSSL証明書が出力できるので、これをPC側で読み込み、信頼しておく必要があります。 そうするとWebブラウザ(またはPC)の通信がすべて見られるようになります。 リクエストとレスポンス、両方が監視できます。 フィルターを使って絞り込みもできます。 個人的にはCharlesを使っていますが、簡易的なものであればBroxyで十分かも知れません。プロキシ設定さえ行えばCLIであったり、自作のソフトウェアなどでも利用可能です。 BroxyはGo製のオープン
HTTP ガイド リソースと URI ウェブ上のリソースの識別 データ URL MIME タイプ入門 よくある MIME タイプ www 付きと www なしの URL の選択 HTTP ガイド HTTP の基本 HTTP の概要 HTTP の進化 HTTP メッセージ 典型的な HTTP セッション HTTP/1.x のコネクション管理 プロトコルのアップグレードの仕組み HTTP セキュリティ Content Security Policy (CSP) HTTP Strict Transport Security (HSTS) X-Content-Type-Options X-Frame-Options X-XSS-Protection Mozilla web security guidelines Mozilla Observatory HTTP アクセス制御 (CORS) HTTP
RDS Proxy への接続ログ 1回目、2回目は 0.5 秒としていますが、sleep が 0.5 だと切れ目なく接続できてしまったので、実際には 0.5 未満 ということですね。 $ ./test.sh (中略) 2020-08-25 04:28:42.194083284 2020-08-25 04:28:42.211 ip-10-7-2-92 0 2020-08-25 04:28:42.696020168 2020-08-25 04:28:42.737 ip-10-7-2-92 0 2020-08-25 04:28:43.197867170 2020-08-25 04:28:44.272 ip-10-7-1-87 0 <-- ここで切り替わっている 2020-08-25 04:28:43.699713439 2020-08-25 04:28:44.273 ip-10-7-1-87 0
背景 gRPCでは主に Proxy Model Balancing-aware Client External Load Balancing Service といったLBアプローチがあります。 それぞれの特徴や実装方法を調べてみました。 Load Balancingアプローチ こちらで定義されてます。 grpc/load-balancing.md at master · grpc/grpc · GitHub 主な負荷分散のアプローチとしては以下です。 Proxy Model LBと言われて最初に浮かぶイメージですね。 ref: https://grpc.io/blog/loadbalancing/ メリット クライアントと独立しているため、クライアントは自身のアプリケーション実装にのみ集中できます。シンプルでPolyglot向きでもあります。 またProxy側に様々な拡張ができます(メトリ
リバースプロキシの設定方法(NginxとApacheでの設定手順) リバースプロキシは、ウェブサーバーの前段に配備され、オリジンサーバーに到達する前にすべてのリクエストを受け取ります。フォワードプロキシと同様の動きをしますが、ユーザーやクライアントが使用するフォワードプロキシとは異なり、リバースプロキシは、ウェブサーバーにより使用されます。通常、リバースプロキシはウェブサーバーのパフォーマンス、セキュリティ、信頼性を高めるために使用されます。 例えば、サーバーA上に example.comドメインで稼働するWordPressでないサイトを構成し、異なるサーバーB上に example.com/blog URLで稼働するWordPressを使用したブログを構成できます。これには、プライマリサイトのサーバーAにリバースプロキシを追加して、ブログへのリクエストを別のサーバー(Kinstaのようなマ
Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 19+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phor
はじめに 少し特殊なケースですが表題の件について、CloudFormationで検証環境を構築して確かめてみました。 次章:背景 でも話しますが、検証したい本番の環境は以下の通り。 背景 Direct Connect (DX) のサービスによっては、AWS側のネットワーク構成・通信用件に制限があったりします。 例えば、 VPCの CIDRはプロバイダの指定値にする などです。 外部サービスのセキュリティ設定で、 指定 CIDRの IPアドレス以外からの接続を拒否 しているケースなどでしょうか。 要件通り新規VPCを作成したとします。 やりたいことは 既存環境の APPサーバーが この新規VPC経由で DX先の外部サービスを利用する 、です。 できないパターン: NATゲートウェイ、NATインスタンス NAT(Network Address Translation) を利用しての通信は でき
PacketProxy is an open-source proxy tool that can intercept and inspect any protocol over TCP/UDP, not limited to just HTTP/1.x, HTTP2, or HTTPS. PacketProxy is designed for testing web applications for internal use, which helps app development and finding vulnerabilities on your applications. Full-featured local proxy tool Save all captured packets (i.e., requests and responses) and show them in
YARP (which stands for "Yet Another Reverse Proxy") is a project to create a reverse proxy server. We found a bunch of internal teams at Microsoft who were either building a reverse proxy for their service or had been asking about APIs and tech for building one, so we decided to get them all together to work on a common solution, this project. YARP is a reverse proxy toolkit for building fast prox
1.Charlesとは 注意 本稿は古い記事です。こちらに新しい記事を用意しましたので、これからCharlesを使う方は新しい方をご参照くださいmm 【開発支援ツール】Charlesの使い方更新版【神ツールv4.5.6】 1-1. はじめに アプリ開発をしているとAPIのレスポンスを見たかったり、正しいドメインにアクセスしているかを確認したい場合が出てくると思います。 そんな時に便利なツールがCharlesです!(とても便利) 開発に携わるのならば、是非Charlesを使えるようになりましょう!!(とてもとても便利) 神ツールです 1-2. Charlesでできること Charlesを使用すればこんなことができます。 ・通信のモニタリング -アクセスしたドメインやAPIのレスポンスを確認できます。 ・通信速度のシミュレーション -通信速度を変えて通信できるようになります。タイムアウトのテス
SREの徳田です。 今回はCiliumのv1.7からGAになったKubernetes without kube-proxyのタイトルで出てる、Ciliumによるkube-proxyの置き換えの機能をGKE上で試してみようと思います。 Ciliumとは こちら の記事の後半を見てみると若干書いてあります😌 要はBPFを使いこなし、Blazing Performanceで処理するぞ💪というProductです。 概要についてはこの記事からそれるのでリンクだけおいておきます。 https://cilium.io/ クラスタの準備 それではGKEのクラスタの準備をしましょう。 google-cloud-sdk とGCPに対しての認証とプロジェクトの指定は終わらせているものとします。 CLUSTER_NAME=cilium-cluster CLUSTER_ZONE=asia-northeast1-
Rails 6.1 の新機能 rails_storage_proxy_url を使うと、ActiveStorage で添付したファイルへのリンクが署名付きURLへのリダイレクトにならず、RailsアプリのURLのままファイルをダウンロードできるようになります。 どういうこと? ActiveStorageはこれまで、S3をバックエンドとして使った場合、S3への署名付きURL=タイムスタンプなどが付与されたURLへのリダイレクトを行ってきました。 しかしこれは扱いづらいことも少なくなく、悩みの種の1つでした。 Rails 6.1 でこの問題に対する回答が(ようやく)公式に用意されたことになります。 例 url_for(user.photo) でActiveStorageへのURLを生成 たとえば http://localhost:3000/rails/active_storage/blobs/
こんにちは、大前です。 先日、 Aurora Serverless v2 が晴れて GA となりました。 ドキュメントを眺めていたところ、Aurora Serverless v2 では、v1 で非対応だった RDS Proxy に対応しているらしいため、触ってみたいと思います。 You can use RDS Proxy with Aurora Serverless v2 clusters but not with Aurora Serverless v1 clusters. 引用 : Quotas and limitations for RDS Proxy - Amazon Aurora やってみた 以下の流れで進めます。細かい手順は省いているところもありますのでご了承ください。 Aurora Serverless v2 クラスターの作成 Secrets Manager にてシークレット
ライセンス Creative Commons — 表示 - 非営利 - 改変禁止 4.0 国際 — CC BY-NC-ND 4.0 前提 TURN サーバを間違って理解している人が多いので雑にまとめておく。 TURN プロトコル自体を知りたい場合 WebRTC で利用されいる TURN プロトコルの解説 著者 商用 WebRTC SFU 開発者 商用 TURN サーバ実装者 (WebRTC SFU に組み込み) WebRTC プロトコルスタック実装者 よくある間違い TURN サーバはリレーするパケットの中身を見ることができる TURN サーバを通るもともとのパケットを復号化したりしない ただ通信が暗号化されていなければ見ることはできる TURN サーバはスケールが難しい 1 接続事に独立しているので TURN サーバ同士で状態を共有する必要はないので難しくない Username / Cr
Exchange Online PowerShell V3 モジュール (バージョン 3.0.0 以降) は、V2 モジュール(バージョン 2.0.5 以前)は、接続方式が異なります。 ・バージョン 2.0.5 以前 : リモート PowerShell コマンドレット (RPS) ・バージョン 3.0.0 以降 : REST API コマンドレット V3 モジュールでは REST API によって接続が行われるため、V3 モジュールにて "Connect-ExchangeOnline" コマンドレットの "UseRPSSession" を利用することで、RPS セッションを張った接続を行うことができますが、"UseRPSSession" の利用が廃止されますので、結果として "New-PSSession" および、"New-PSSessionOption" を利用しての接続ができなくなりま
この文書では、Charles Proxy(以下、Charles)を利用したパッケット情報の収集方法を説明します。 Charles はコンピュータで実行される Web proxy (HTTP Proxy / HTTP Monitor)です。 Charles を通じて Web ブラウザ(または他の Web アプリケーション)からインターネットにアクセスするように設計されており、送受信したデータを全て記録し、表示します。 コンピュータで実行されている作業が目に見えるので、問題を迅速に診断し、解決の手助けとなります。
target – ラップするオブジェクトです。関数含め何でもOKです。 handler – プロキシ設定: 操作をインターセプトするメソッドである “トラップ” をもつオブジェクトです。例: get トラップは target のプロパティの読み取り用、set トラップは、target へのプロパティ書き込み用、など。 proxy の操作では、handler に対応するトラップがある場合はそれが実行されます。それ以外の場合は、操作は target で実行されます。 最初の例として、トラップなしでプロキシを作ってみましょう。: let target = {}; let proxy = new Proxy(target, {}); // 空のハンドラ proxy.test = 5; // プロキシへの書き込み (1) alert(target.test); // 5, プロパティが target
こんにちは。 キャスレーコンサルティングのSD(システムデザイン)部の 小松 です。 社内でミドルウェアのチューニングやシステム基盤の設計等を担当しています。 今回は、Go言語で書かれたインテリジェントな負荷分散を実現する Traefik を試した話を紹介します。 はじめに システムデザイン部の開発では Vagrant を使っており、 開発用イメージを Packer で予めビルドして配布するケースが多いです。 最近は 業務で Docker を使う機会もありレジストリにで共有するなど、積極的に Docker の利用を進めています。 Docker コンテナはデプロイが容易であるため、 複数のマシン上でコンテナを並列に実行させて負荷分散構成が取れるメリットがあります。 しかし、Docker をしばらく利用してみて感じたことは、クラスタ上のコンテナに対してリバースプロキシを使い バランシングしよう
こんにちは。 認証proxyを用いる環境下で、下記向けの各種設定を行う PowerShell 用実行スクリプトを作りました1。 System.Net.WebClient 向けの DefaultWebProxy (Invoke-WebRequest コマンドなどが利用) 環境変数 $env:http_proxy(wget.exe コマンドなどが利用) Chocolatey の動作で用いる環境変数 これを使って今回 Chocolatey をインストールし2、さらに応用例として Tex Live のインストールにも使いました。 内部の "<USERNAME>", "<PASSWORD>", "<HOSTNAME>:<PORTNUMBER>" は書き換えてください。 # Encoding::Shift-JIS $user = "<USERNAME>" $password = "<PASSWORD>
Rack アプリで、クライアントのIPアドレスを取得する方法を調べてみたのでメモ。 どうやら Rack::Request#ip を使えばいいらしいので Rack アプリはこんな感じで。 [config.ru] class HogeApp def call(env) req = Rack::Request.new(env) [200, {}, [ "req.ip=#{req.ip}\n", "REMOTE_ADDR=#{env["REMOTE_ADDR"]}\n", "HTTP_X_FORWARDED_FOR=#{env["HTTP_X_FORWARDED_FOR"]}\n", ]] end end run HogeApp.new 普通に接続 これを 192.0.2.11 サーバーで次のようにして起動して、 rackup -o 0.0.0.0 192.0.2.1 のクライアントからアクセスし
ES6 で新しく Proxy型が導入された。 MDNのドキュメントは こちら 。 Proxy型は JavaScript のメタプログラミングで多用される。 メタプログラミングの文脈でのMDNドキュメント 普通のプログラマはメタプログラミングなんてしないので、基本的に忘れてしまってよい話。でもまあ、知っていても損はしないのでざっくりレビュー。 Proxy型って結局なんなの? めちゃくちゃざっくりいうと、任意のオブジェクトのゲッターとセッターを魔改造する技術。(それ以外にも new とか for ... in 文を魔改造することもできるけどここでは割愛。)いやいや、JavaScriptのゲッターセッターって何よ、と思うかもしれない。もう少し具体的に言うと、以下のコードの挙動を魔改造するってこと。 プロパティアクセス obj.name の際の挙動 プロパティへの代入 obj.name = 'al
Photo by DISRUPTIVO on UnsplashECMAScript 6 version took a long time to be released. It did go out until 2015, while ECMAScript 5 was released in 1997. The dot-com bubble, EMACScript 4 failed attempt, and other factors were the cause behind this late release. As a consequence, ES6 was feature-packed. So feature-packed that many features went unnoticed. The…
はじめに 前回、MySQLのmaster slave構成をDockerで作ってみた が、実際の開発では複数DBをアプリケーションから使うには一工夫必要である。もっとも素朴な方法は使用するDBの接続情報をアプリケーションですべて保持しておき、read系/write系で使い分けることだと思う。しかし、これは次のような問題がある。 DBの接続情報は途中で変わりうる アプリケーションのロジックにDBの使い分けが入るのは面倒(だし複雑) そこで、今回は ProxySQL を試してみる。ProxySQLは アプリケーションとDBの間に入って、次のようなことをしてくれる。 クエリに応じたmaster / slave への自動プロキシ 負荷分散 シームレスな接続設定の変更 どの程度メジャーなのかはいまいちわかっていないが、公式の mysql-proxyよりは使われているようだったので選んだ。ちなみにPro
こんにちは、ヒナです。 今回は、Charlesについてと、PC・スマホの初期設定方法を紹介します。 Charlesとは ・アプリからAPIのリクエストをどう出しているのか確認したい。 ・サーバから返ってきたレスポンスの確認したい。 ・正しいドメインにアクセスしているかを確認したい。 上記のような事を、簡単に確認できる便利なツールのことです。 ※Androidは使用出来ません。 →セキュリティの観点からandroid7以上からは使用できなくなっています。 Charlesをインストールする 下記のリンクからCharlesをダウンロード出来ます。 https://www.charlesproxy.com/download/ ダウンロード完了後、各OSのインストールガイドに従ってインストールを行なってください。 PCの設定方法く ■プロキシーを設定を行う ①メニューバーの Proxy > Prox
こんにちは、スリーシェイクの寺岡です。今回は Kubernetes の代表的な Service Mesh である Istio の timeout やら retry やらについての紹介です。 環境Istio は 1.7.3 で、その中で使われている Envoy は 1.15.1 です。 Kubernetes は EKS で 1.17 です。 Istio と Envoy の関係まずは、Istio と Envoy の関係についてですが、大雑把に言うと Istio は Envoy を Pod のサイドカーとして挿入し、それらの設定を管理するものです。私だけかもしれませんが、最初はそれらの Envoy 同士が特別な接続を持っているのではないかと勝手に想像していました。でも実際にはそれぞれの Envoy はただ Pod の外から中、中から外への通信の間に入って Proxy するだけで Envoy 同士
はじめに カタカタカタカタ できたできた!さぁ動かすぞっていうときのUnknownHost・・・・ またか・・・とため息をつきながらぐぐる 設定する 1へ戻る プロキシが憎い! だけど、頑張ってくぐらないといけない!そんなあなたの為のプロキシ設定まとめです。私が良く使うものを随時更新していきます。 追加して欲しいものがあればコメントいただければ追加しますので編集リクエストください。 尚以下のような記述はご自分の環境に合わせて変更をお願いします。 環境 Windows,CentOSを前提としています。 Ubuntuは会社ではあまり使わないので・・・ ブラウザ 書かなくてもいい気がしたが一応書いておく。社内サーバ系は除外リストに入れとこ。 IE インターネットオプション ⇒ 接続 ⇒ LANの設定 Chrome Chromeのプロキシ設定はIEの設定を見ます。Chromeから開く場合は以下の手
rss-proxy – 非対応のwebサイトからRSSやJSONを生成する、セルフホストもできるOSSツール damoeb/rss-proxy は、ウェブサイトが RSS feed を提供していなくても、HTML の構造から類推した新着情報を切り出してくれるオープンソースのツールです。 feed を提供してないウェブサイトのURLを入れると、html の構造から列挙になっている箇所を探し出し、生成する新着 feed の候補を並べてくれます。 それぞれの候補が差している箇所は赤点線で示されるので、ここが自分の欲しい新着情報だと思ったら、右下のfeed生成ボタンを押すと、RSS feed が生成されます。 RSS/ATOM 形式だけでなく、JSON を生成することもできるので、プログラムから利用したい場合はそちらが便利という人もいるでしょう。 デモサイトもあるのでここで動作を試すこともできます
Adventarを支える技術 Advent Calendar 2019 の6日目です。 今日は envoy の gRPC に関する便利機能について紹介しようと思います。 gRPC-Web proxy 4日目の記事でも書きましたが、今回は gRPC-Web の proxy レイヤーとして envoy を利用しています。envoy で gRPC-Web の機能を有効するのは簡単で、HTTP filters に envoy.grpc_web を書いて、ヘッダの設定をするだけです。 https://github.com/adventar/adventar/blob/f580de20510f9debe6356a5ad193c4532d8f6a0d/api-server/envoy/envoy-prod.yaml#L44 https://github.com/adventar/adventar/blo
この記事はBeeX Advent Calendar 2020の12/12の記事です。 EKSのデータプレーンをどう選ぶか考えたとき、個人的にはFargateを積極的に使いたいところですが、まだ制限も多くて要件にフィットしない場合もあります。 そんな時に選択肢として挙がるManaged Node Groupですが、ReInvent2020でSpotインスタンスの利用できる機能が発表されたり、また使いやすくなったと感じています。 ここではそんな、Managed Node Groupで展開したEC2ノードのランタイムセキュリティをチェックする方法としてFalcoを使う手順を書いていきます。 概要としては以下の図の通りです。 Falcoは何か公式のドキュメントから引用します。 Falcoは実行時にカーネルからのLinuxシステムコールを解析し、強力なルールエンジンに対してストリームをアサートします
こんにちは、ユーザベースのProductチームでSREをやっています阿南です。弊社ではKubebrnetes + Istioを利用してサービスメッシュの構築、マイクロサービスの運用を行っています。Istioでは sidecar proxyとしてEnvoyが利用されていますが、このEnvoyをFront Proxyとしても利用できないかと思い、よく使われる設定について調べてみました。下記目次です。 EnvoyをFront Proxyとして利用するメリット Envoyのバージョン Front ProxyのためのEnvoy Configuration 80(HTTP),443(HTTPS)でアクセスを受け付ける Pathベースのルーティングを設定する レスポンスに特定のヘッダーを付与する Healthcheckに失敗した場合、upstreamの対象から除外する Cookieをもとに、upstre
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く