• ..

now

    Content-Type と Content-type と content-type どれが正しい

    色んなドキュメントを見たりしていると、タイトルのように複数の大文字小文字のパターンがありどれならいいのか混乱したので少し調べた「メモ」です。

    rfc7540#section-8.1.2の辺りを見ました。

    • HTTP1.1 では大文字小文字区別しない
    • HTTP2 では大文字は駄目で、小文字である必要がある?

    とのことです。

    なので多分content-typeを使っていけば問題ないのかなということで、小文字を使っていこうと思いました。

    オリジン間リソース共有 (CORS)

    いつか書く。

    Access-Control-Allow-Origin

    通信許可できる参照元オリジン名。

    Access-Control-Allow-Methods

    この通信で許可できるメソッド GET, POST, OPTIONS, PUT, PATCH, DELETE

    Access-Control-Allow-Headers

    通信時にヘッダーに含めても大丈夫な項目。

    Access-Control-Allow-Credentials

    クッキーをやり取りするかどうか。する場合はtrueを指定します。

    エラー

    Access to fetch at 'APIのURL' from origin '送信元origin' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header has a value '送信元origin' that is not equal to the supplied origin. Have the server send the header with a valid value, or, if an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

    OPTIONSのヘッダーのAccess-Control-Allow-Originの値と実際のメソッドのヘッダーで返しているAccess-Control-Allow-Originの値が異なる。

    SSL 証明書を結合する

    やった時のメモ。

    必要なファイルは以下でした。

    • csr(Certificate Signing Request) コモンネームや組織名が含まれているファイル
      • -----BEGIN CERTIFICATE REQUEST-----が含まれる
      • サーバー証明書?
    • cer(crt?) デジタル証明書ファイル
      • -----BEGIN CERTIFICATE-----が含まれる
      • クロスルート証明書?
    • rsa 秘密鍵ファイル
      • -----BEGIN PRIVATE KEY-----が含まれる

    ファイルの確認

    手元に有るファイルが上記以外の拡張子だった場合、以下の方法で確認することができます。

    // rsa か?
    openssl rsa -text -noout -in <filename>
    
    // cer(crt?) か?
    openssl x509 -text -noout -in <filename>
    
    // csr か?
    openssl csr -text -noout -in <filename>

    結果が長々と出てきたりecho $status0だったものが正です。

    結合

    以下のような形で結合します。自分のドメインファイルが先です。権限は400に設定します。

    aws 1 www.example.com.cer ca.cer > result.crt
    chmod 400 result.crt

    あとはサーバーに上げて更新します。

    参照