Https | iii threetreeslight

May 13, 2018

support https access to blog with loadbalancer

GCPを触れば触るほどmodule化されているんだなぁと関心。 GCS単体ではhttpsアクセス出来ないので、前段にloadbalancerを噛ませてhttpsアクセスできるようにしてみる。 構成 GCPのloadbalancerはawsとだいぶ違う。 そのため、全体像を事前に理解しておくために コンテンツ ベースの負荷分散の作成 をやっておくと良い。 出典: コンテンツ ベースの負荷分散の作成 今回はGCSへ転送するので、backend-serviceではなくbackend bucketを利用します。 IP <-> forwarding rule <-> target proxy <-> url-map <-> backend-buckets <-> gcs AWSとだいぶ異なるため、それぞれの構成要素がawsでいうと何に当たるのかをマッピングして説明します。 IP entrypointとなるIP address. gcpから払い出しておく必要がある AWSのように作成されたloadbalancerに勝手にentrypointが出来るものではなく、IPを払い出し明示的に割り当てる必要がある forwarding rule 指定されたip, portへのrequestを何処に転送 (target proxy) するか決まったルール 特定のloadbalancerに必ず紐づくものではない。 AWSでいうとalbのlistenerあたりが近い。また、security groupが無いということ。 target proxy URL マップにリクエストの経路を指定するターゲット HTTP プロキシ。そのため、https access時の認証を行うssl証明書はtarget proxyが保持する AWSでいうlistenerが近い。 url-map リクエストの URL を解析し、リクエスト URL のホストとパスに基づいて、特定のバックエンド サービスに特定のリクエストを転送。 AWSでいうとtaget groupが近い backend-bucket url-mapをもとに決定された転送先。 backend-serviceを利用するとインスタンスのhealthcheckまでを責務を持つものに成る。 url-mapとbackend-bucketをあわせることで、awsでいうtarget groupになる。 Creating Content-Based Load Balancing gcs bucketにアクセスをつなぐbackend bucketを作成します。 事前に blog. ... Read more

August 26, 2013

rspecでhttpsをパス

userのloginとかcontact formとか基本的にhttpsで通信すると思います。 で、そのままrequest_rspecでhttpsのページをgetしようとすると、www.example.comに301転送される。 そういうときはget methodにパラメータを追加 get root_contact_path, {}, "HTTPS" => "on" request.env[‘HTTPS’] = ‘on’ leads to NoMethodError また、rspecにおけるbasic auth対応の方法によるbasic auth方法を利用している場合は、 @env["HTTPS"] = 'on' get root_contact_path, {}, @env

May 14, 2013

railsでhttps通信

やりたい事 SSL通信を特定のコントローラーのみに固定する production環境時のみ適応させる ssl設定 class FoobarController &lt; ApplicationController force_ssl :only =&gt; ['show'] end 参考 270: Rails 3.1の認証機能 備忘録をかねて。

April 22, 2013

herokuへデプロイしているサービスのssl設定

herokuでhttpsアクセスできるようにしたいので、RapidSSL使います。 csr作成 $ openssl genrsa -des3 -out server.orig.key 2048 $ openssl rsa -in server.orig.key -out server.key $ openssl req -new -key server.key -out server.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '. ... Read more