タグ

サーバに関するd_animal141のブックマーク (207)

  • SERVER_NAMEとHTTP_HOSTの違い | プログラマンのお仕事

    $_SERVER['HTTP_HOST']からドメインを取得する処理でエラーが出ていたので調べてみたら 下記のようなHTTPリクエストを投げたときに $_SERVER['HTTP_HOST']と$_SERVER['SERVER_NAME']で 違いがあった GET /xxxx/ HTTP/1.0 Host: hoge.example.com:80 HTTP_HOST : hoge.example.com:80 SERVER_NAME : hoge.example.com HTTP_HOSTはHostヘッダの内容そのもの SERVER_NAMEはapacheのServerName

    SERVER_NAMEとHTTP_HOSTの違い | プログラマンのお仕事
  • そのIDTokenの正体はセッショントークン?それともアサーション? - r-weblife

    おはようございます、ritouです。 今年も Firebase Authentication や Auth0 とか沢山使われると思いますが、去年からよく聞かれる件をざっくりと書いておきます。 ID Tokenってセッショントークンとして使っていいんですよね? 例えばこちらの記事を見てみましょう。 Google の ID Token をセッショントークンとして使おうとして断念 techblog.kayac.com 認証は Google の OpenID Connect の Auth Code Flow による認証を採用しています。ユーザと Google 間の認証後の callback で code を受け取り、code exchagne で ID token を取得します。 Google ID token は以下のような Google アカウントのユーザ情報を含む JWT です。 これはいわ

    そのIDTokenの正体はセッショントークン?それともアサーション? - r-weblife
  • HTTP Strict Transport Security(HSTS)とは?

    はじめに Webサイトがどのように表示されるのかを知るために『What happens when...』を読みました。 しかし、HSTSが何なのか理解できず、かなり最初の方でつまづいてしまったので、今回の記事では自分が調べたことをまとめたいと思います。 「HSTSをチェックする」 以下が『What happens when...』で書かれていた説明です。 ブラウザは"preloaded HSTS(HTTP Strict Transport Security)"リストを調べます。これはHTTPSでのみリクエストを送るように求めているウェブサイトの一覧です。 もしそのウェブサイトがリストにあれば、ブラウザはHTTPではなくHTTPSでリクエストを送ります。なければ最初のリクエストはHTTPで送られます。ウェブサイトは、HSTS一覧になくてもHSTSポリシーを利用可能であることに注意してください

    HTTP Strict Transport Security(HSTS)とは?
  • Webページがブラウザに表示されるまでに何が起こるのか?

    ## # Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost 上記で「127.0.0.1 localhost」とあるように、[IPアドレス] [ホスト名]というフォーマットで書かれます。 HOSTS.TXTが使われていた当時 ( 1970年代 ) では、わずか数百台のホストしかなかったので、ネット上の全てのホスト情報の記載が可能でした。 しかし、インターネットが普及していくにつれてHOSTS.TXTは肥大化していき、1983年には、ホスト数はおよそ数万台になりました。もはやHOSTS.TXTによる名前解決は不可能となったので、現在のようなDNS

    Webページがブラウザに表示されるまでに何が起こるのか?
  • gRPCとGraphQL - Qiita

    はじめに gRPCGraphQLをどう使い分けるかがわからず混乱していたので、軽く整理した。 どう違うか GraphQLAPI用のクエリ言語で必要なデータを指定することで無駄な通信をしないようにすることができる。 一方でgRPCはProtocol bufferを用いてRPC(サーバー上のメソッドをあたかもクライアント側で呼んでいるかのように見せるもの)を実現している。 どちらも、サーバーに対してリクエストを出しレスポンスを受け取るという目的は一緒。 ただ、gRPCGraphqlのように柔軟なクエリ(関数呼び出し)はない。 サービスという形でRPCの関数を呼び出し結果を得るが、その結果の形は固定。 また、Mediumの記事でも述べられている通り、gRPCは低レベル向き、GraphQLは高レベル向き。 なので、ウェブアプリを作るときには、フロント側がアクセスするAPIGraphQLで、

    gRPCとGraphQL - Qiita
  • ふつうのWebサイトのセッションの仕組み | Simple is Beautiful.

    こんな感じの構成を想定してます セッションデータ保存用データベース:Redisやmemcacheなど セッションID:Cookieに保存 セッションの仕組み Cookieに保存されたセッションIDとサーバーが持っているセッションIDを比較して一致しているものがあったらユーザーがログイン済みと判断します。 ログインまでのフロー ログインしていない状態ではユーザーはセッションIDを持っていません。このためまずユーザーにフォームなどでIDやパスワードなどでログインを求めます。 認証が成功したらサーバーはセッションIDを作成します。生成するセッションIDは他のユーザーが推測しにくい様に長いランダムなものを使用します。 セッションIDとユーザー情報を紐付ける為に、生成したセッションIDとユーザーIDをペアにしたデータをRedisなどのデータベースに保存します。 生成したセッションIDをCookie

    ふつうのWebサイトのセッションの仕組み | Simple is Beautiful.
  • WebSocketを使ってWebブラウザ間P2P通信をしてみた - いろいろな何か

    はじめに ブラウザ間でP2P通信が実現できれば、ブラウザ上で動作するP2Pアプリが作れて面白そうだなーと思ったのでWebSocketを使って実現してみました。仕組みについては以下で説明していきますが、私が実現した方法は限定的で実用性が低く色々と足りない部分もあるので、軽い気持ちで読んで頂けるとありがたいですw 仕組みの概要 なぜWebSocketを使うのか 従来、Webサーバとクライアント(Webブラウザ)間で非同期に通信するにはXHR(XMLHttpRequest)を用いてきました。基的にこのXHRは以下の図のように同一ドメインとしか通信できないという制約がありました。*1 しかし、WebSocketのthe Origin-based security modelでは異なるドメインとも通信することが可能になります。WebSocketプロトコルでは、サーバとクライアント間で接続を確立する

    WebSocketを使ってWebブラウザ間P2P通信をしてみた - いろいろな何か
  • CORSの仕組みをGIFアニメで分かりやすく解説

    クロスオリジンのリクエストを安全にするための同一生成元ポリシーとオリジン間のリソース共有(CORS)の仕組みをGIFアニメで解説した記事を紹介します。 ✋🏼🔥 CS Visualized: CORS by Lydia Hallie 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに ✋🏼同一生成元ポリシー(Same-Origin Policy)とは 🔥クライアントサイドのCORS 💻サーバーサイドのCORS 🚀プリフライト リクエスト(Preflighted Requests) 🍪認証 はじめに 「Access to fetched to fetched has been blocked by CORS policy error」と赤い文字がコンソールに表示されると、デベロッパーなら誰でもフラストレーションが

    CORSの仕組みをGIFアニメで分かりやすく解説
  • SSLサーバ証明書の設定確認、中間CAの設定ミスを発見する - Qiita

    SSLサーバ証明書の設定で一番やらかしがちなのは中間CA証明書の設定ミスです。 PCブラウザでの鍵マーク確認だけじゃダメ! いまどきのPCブラウザだと証明書に記載されている Authority Information Access 拡張フィールドから中間CA証明書を自動DLしてくれたりキャッシュしたりする機能がある為、サーバに中間CA証明書が正しく設定されていなくても問題なく閲覧出来てしまう。 便利だが、それ故に確認ツールとしてブラウザを使ってしまうと中間CA証明書の設定漏れに気が付かずに置かれた結果、中間CA証明書の自動DL機能のない(主には)携帯端末などからアクセスできなくなって初めて設定漏れに気付く。 なんてことがよくあるのでブラウザじゃなくちゃんとした手順で確認することを覚えましょう! SSLサーバ証明書チェッカー 認証局がチェッカサイトを提供しているのでこれを使うのが一番簡単で確

    SSLサーバ証明書の設定確認、中間CAの設定ミスを発見する - Qiita
  • 仕組みから理解するブラウザキャッシュ

    Webページの表示速度を改善する手段の一つに、ブラウザキャッシュの利用があります。 単にブラウザキャッシュを利用するだけであればhttpd.confまたは.htaccessに記述を加えるだけでいいのですが、ブラウザキャッシュの仕組みをちゃんと理解した上で使いたかったので色々と調べてみました。 今回の記事では、調べた内容を紹介します。 Last-ModifiedヘッダーとETagヘッダー これらのヘッダーでは、ブラウザにキャッシュされたファイルとWebサーバーのファイルとが同じかどうかをブラウザが判断する方法を指定します。ファイルが同一であれば、ブラウザキャッシュが利用され、ファイルの転送量が節約されます。 ブラウザは、前回のアクセスでLast-ModifiedヘッダーまたはETagヘッダーを受け取った場合、条件付きGETリクエストをWebサーバーに送ります。 Last-Modifiedヘッ

    仕組みから理解するブラウザキャッシュ
  • ssh経由のSOCKSプロキシを通じてMac上のGoogle Chromeでブラウジング

    自分用メモ。 SOCKSとは 汎用UNIX socketプロキシみたいなヤツ。WikipediaのSOCKS記事を参照。つか今までぜんぜん存在知らなかった。ヤバい。 OpenSSHのクライアントは、SOCKSによるダイナミックポートフォワーディングをサポートしている。あたかもssh先のサーバからsocket通信しているかのようにできる。 特定のIPアドレスからしか閲覧できないWebサイトをWebブラウザから閲覧したい場合がある。squidみたいなHTTP proxyを立てたり、VPNのソフトウェアを入れなくても、sshを通じたSOCKSだけで、そういったWebサイトを閲覧することができる。 OpenSSHでの接続方法 -DでSOCKSとしてListenするポート番号を指定できる。1080が慣習のようですがなんでもよい。-fでbackground実行、-Nでremote commandを実行

    ssh経由のSOCKSプロキシを通じてMac上のGoogle Chromeでブラウジング
  • SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO

    はじめに サーバーレス開発部@大阪の岩田です。 先日接続元IPアドレスをクラスメソッドのGIPに制限した検証環境を利用してAPIのテストを行なっていたところ、リモートワーク中のメンバーが検証環境に接続できないという状況が発生しました。 下記の記事で紹介されているように、クラスメソッドではSOCKSサーバーが構築されているので、VPN経由で社内NWに接続し、SOCKSサーバーをプロキシとして利用すれば来リモート環境からでも検証環境が利用できるはずです。 VPN利用者のためにdelegateでSOCKSサーバーを立ててみました 最初はcurlコマンドのオプションに--proxyを付けてプロキシサーバーを指定するようお願いしたのですが、--proxy http://proxy.example.com:xxxxのような指定を行なっていたようで、問題が解決しませんでした。 結局--proxy so

    SOCKSプロキシとHTTPプロキシの違いについて勉強してみた | DevelopersIO
  • AWS Client VPNを試してみる - Qiita

    はじめに 2018/12/18に発表になったAWS Client VPNを試してみます。 認証は、Active Directory連携とクライアント証明書による認証が可能です。今回は、Getting Startedにならってクライアント証明書を使用します。 LinuxサーバやMacでeasy-rsaツールを使って、ルート証明書やサーバ証明書、サーバ秘密鍵、クライアント証明書、クライアント秘密鍵を作成します。作成したRootCAやサーバ証明書、サーバ秘密鍵をACMに登録して、Clinet VPCエンドポイントに登録します。 ネットワーク構成は、以下になります。 手順 接続テスト用のEC2インスタンスを作成して、Nginxを起動する easy-rsaでルート証明書、サーバ証明書、サーバ秘密鍵、クライアント証明書、クライアント秘密鍵作成し、ACMに登録する AWS Client VPNエンドポイ

    AWS Client VPNを試してみる - Qiita
  • [AWS]踏み台をワンチャンなくせる!?VPC接続にClient VPNを使ってみよう | DevelopersIO

    クライアントVPNを利用することで、VPCへクライアント端末から接続することができるようになります。EC2に限らずS3やDX経由でオンプレまで接続できます。 そして、クライアント証明書認証に加えて、AD連携によるユーザー認証も可能です。このユーザーは、どこのIPセグメントにアクセスできるかみたいな制御ができます。これは、ワンチャン踏み台なくせるのでは?と思ったので、クライアントVPNに全振りした場合のコスト感や懸念についても考察してみます。 また、実際に接続するところまでやってみました。 コンニチハ、千葉です。 はじめに VPCにはDirectConnect(閉域網)をはじめ、インターネットVPNでのセキュアな接続もサポートされています。 VPCで利用できるインターネットVPN接続方式は複数あります。 AWS Site-to-Site VPN AWS Client VPN AWS VPN

    [AWS]踏み台をワンチャンなくせる!?VPC接続にClient VPNを使ってみよう | DevelopersIO
  • DNS-01方式によるLet's Encrypt自動更新 - ぱろっくの日記

    この記事は さくらインターネット(その2)Advent Calender 2016 16日目のエントリです。 先月からさくらインターネットでアルバイトをさせていただいていて、その関係でアドベントカレンダーを書くことになりました。 たくさんのSSL証明書をLet's Encryptで発行している人や、社内とかローカルでSSL証明書を使っている方は必見のDNS認証方式を利用したLet's encryptの証明書の自動更新化を紹介します。 Let's encryptの認証方式 Let's Encryptは、無料でSSL証明書の発行をしてくれる認証局を用意してくれています。 Let's Encryptで証明書の取得を行うとき、ドメインの認証をするのですがその方式として HTTPによる認証(HTTP-01) DNSによる認証(DNS-01) の2種類があります。 HTTP-01 HTTPによる認証の

    DNS-01方式によるLet's Encrypt自動更新 - ぱろっくの日記
  • プロキシでのhttps通信(CONNECTメソッドとは?)を解説

    http通信におけるセキュリティ関係でCONNECTメソッドという言葉を聞くことが結構あります。 プロキシでのhttps通信を実現するにも重要なので、今回はCONNECTメソッドに関して解説します! プロキシが見えなければならないものは? CONNECTメソッドとは何か?を知るために、先ずはプロキシのお話から始めます。 プロキシはHTTP通信を代理してくれるという大変便利な役割があります。大きな仕組みとしては、クライアントのリクエストhttpのペイロード(データの中身)を見て、リクエストするページのパス名("/"スラッシュ以下、つまりFQDN以降)をサーバに渡して、プロキシに返ってきたhttpレスポンスをクライアントに返す、というものです。 例えば、「http://itmanabi.com/connect-method/」というURLへアクセスした場合、 FQDN以降の「/connect-

    プロキシでのhttps通信(CONNECTメソッドとは?)を解説
  • SSHポートフォワーディングを知った話 - Qiita

    はじめに 新しいわけでも使うのが難しいわけでもないですが、単純に知らなかったので共有。。 ポートフォワーディングとは 複数のサーバーの管理をする時に使える技術。 AとBというサーバーを接続したいが、セキュリティやネットワークの問題で、直接接続できない時に使う。 AとBの間にCというサーバーを置き、Cを経由して間接的に接続できる。 どう使うのか? ローカルのポートをリモート先に転送したい時 例えば、自分のPCから、ネットワークの都合上、直接接続できないAというwebサーバにBというサーバを経由して接続するとき -LオプションはLocalのことを表します。 -Nオプションはリモートのコマンドを実行せずに待機状態にするためのもの。ポートフォワーディングをする時によく使われます。 リモート側のポートをローカルに転送したい時 例えば、Cという外部のネットワークにあるサーバーの1010というホストから

    SSHポートフォワーディングを知った話 - Qiita
  • dstatコマンドでサーバリソースをリアルタイム監視 - Qiita

    dstat - versatile tool for generating system resource statistics 背景 mpstatやらvmstatやらでリソース監視をやっていたらターミナルの数が無限に増えていくのに嫌気がさした。 ちょっと調べてみるとdstatというコマンドがいろいろ見れて便利って聞いたので紹介してみます。 dstatとは dstatとは簡単に説明するとCPU負荷をコアごと、IO負荷をディスクごと、ネットワーク転送量をインターフェイスごとに表示できるコマンド。 topやiostat,netstatを使って監視しているリソースがコマンド一つで監視できます。 GitHubにてソースは公開されています。言語はPython dagwieers/dstat 公式サイト http://dag.wiee.rs/home-made/dstat/ インストール $ sudo

    dstatコマンドでサーバリソースをリアルタイム監視 - Qiita
  • 楽しいトンネルの掘り方(オプション: -L, -R, -f, -N -g)

    はじめに こんにちはこんにちは! KMC の魔法少女nona7(nonamea774) です. 最近はクッキーを増やして過ごしています. この記事はKMCアドベントカレンダー2013の9日目の記事です. 昨日の記事はpossumさんの指紋の話でした. さらにこの記事は, KMCアドベントカレンダー2013のサブカレンダーであるSSHアドベントカレンダー2013の2日目の記事でもあります. 日頃SSHに親しんでいる部員による、SSHの基礎知識、ツール、Tips等を紹介して参りますので、初心者の方から上級者の方までご笑覧いただければ幸いです. KMCアドベントカレンダー9日目, SSHアドベントカレンダー2日目の今回は, 楽しいトンネルの掘り方についてのお話をします. トンネル掘ってあっちこっち(Lオプション) 例えば のような, インターネット側からはSSH サーバしか見えなく, SSH サ

    楽しいトンネルの掘り方(オプション: -L, -R, -f, -N -g)
  • OPTIONSメソッドが気になったのでCORSとプリフライトリクエストについて少し調べました - woshidan's blog

    Amazon API GatewayでCORSを有効にするとOPTIONSメソッドが追加されるのが気になったので、CORSについて少し調べました。 CORSとは オリジン間リソース共有Cross-Origin Resource Sharing (CORS) は、追加の HTTP ヘッダーを使用して、あるオリジン (ドメイン) で動作しているウェブアプリケーションに、異なるオリジンのサーバーにある選択されたリソースへのアクセスを許可することができる仕組みです。ウェブアプリケーションは、自分のオリジンとは異なるオリジン (ドメイン、プロトコル、ポート番号) からリソースをリクエストするとき、オリジン間 HTTP リクエストを発行します。*1 クライアントサイドの実装は、最近ではIEのごく一部のブラウザ以外で実装されていて、JavaScriptで異なるドメインのサーバへアクセスしようとした時によ

    OPTIONSメソッドが気になったのでCORSとプリフライトリクエストについて少し調べました - woshidan's blog