[メモ]apache2.4 crtの設定[覚書]

ご無沙汰してます

今日、はまったことをメモ

COMODOのPositiveSSLワイルドカードを手に入れ、設定し「いやっほーい!」とか思っていたら・・・
※PCではちゃんとバッチグーでした。

スマートフォンでは危険のあるサイトだから危ないよってブラウザに言われていた・・・
1週間近く放置してたorz

で、何で??って思って調べたら・・・

中間CAとか設定してないとだめなのねorz

で次に、調べていくとapache2.2とかだと、
「SSLCertificateFile」とは別に、「SSLCertificateChainFile」 に中間CAとかを1ファイルに書き込み設定する

apache2.4だと「SSLCertificateChainFile」がなくなったらしく、「SSLCertificateFile」にもろもろのcrtファイルを1ファイルに書き込み設定する必要があった。

そういえば書き込む順番とか在ったのかな・・・

今回は適当に、以下のように書き込んで行った。

SSLにしたドメインのcrt

COMODO RSA Domain Validation Secure Server CA

COMODO RSA Certification Authority

ルート

※sslの購入先はssl-storeのCOMODOのPositiveSSLワイルドカード

とりあえず、何事も経験だな・・

—————————
追記:2018-04-25
今年、更新したら、Comodoからメールでファイルが送られてこないで、メールに張り付けてきた。
なので、その張り付いたものをそのままファイルに保存でOKでした。

—————————
追記:2019-04-04
メールの内容そのままはると微妙にダメだった
下記サイトから確認すると、メールに貼られている「YOUR REQUIRED INTERMEDIATE SSL CERTIFICATES (CA) ARE BELOW」以下の部分がブロックが逆になっていた。
これは要注意ですな。
サーバ証明書の設定確認
https://sstool.cybertrust.ne.jp/support_tool/index01.php

スポンサーリンク

[mongo]配列カラム内の連想配列の複数条件一致検索

はまったのでメモ

[{
id:1,
name:"A class",
array_data:[
    {age:17, sex:"f", height:160, wight:40},
    {age:18, sex:"f", height:150, wight:35},
    {age:19, sex:"f", height:170, wight:45}
  ]
},
{
id:2,
name:"B class",
array_data:[
    {age:17, sex:"m", height:160, wight:50},
    {age:18, sex:"m", height:150, wight:55},
    {age:19, sex:"m", height:170, wight:65}
  ]
}
]

上記のようなデータが存在した場合に
array_dataカラムの配列中にage=18 且つ sex=”m”のある行のデータだけ
取得したい場合の書き方を下記に記述します。

db.hoge.find({
  "array_data.age":18,
  "array_data.sex":"m",
  $where: function(){
    var arr = this.array_data;
    for (var i in arr) {
      if (arr[i].age==18 && arr[i].sex == "m"){
        return true;
      }
    }
   return false;
  }
});

結果はid:2の行のみを取得できます。
※$whereのスクリプトを書かないとid:1も対象として取得されます。

また、phpでも上記$where部分を書けば思った通りのデータ行が取得できます。
更にarray_data内の該当行のみを取得する場合は、
プログラムで該当の連想配列行を取得する必要があります。

記憶を辿り書いてしまっているので誤って書いている部分があるかもしれまん、、

スポンサーリンク

[メモ]firefoxのメモリバカ食い[おまじない]

Firefox34にしてからメモリがバカ食いして、既に開いていたタブを表示しようとしたときにハングし、別windowに分離してしまうなどということが発生しまくっていました。

そこで、gigazinさんの記事を見つけ、以下の事がかかれていました。

1. アドレスバーに「about:config」と入力してEnterキーを押す
2. 開いたページ上で右クリックして「新規作成」→「Boolean」をクリック
3. 設定名を「config.trim_on_minimize」として「OK」をクリック
4. 真偽値として「true」を入力して「OK」をクリック
5. Mozillaを再起動する

今のところ、メモリのバカ食いはないみたいですので、メモメモと・・・

スポンサーリンク

[メモ]アニメーションgifのチェック[php]

おひさしぶりです。

タイトルの通り、チェック対象のファイルがアニメーションgifかそうじゃないかのチェックプログラムを・・・

で、とほほさんのGIFフォーマットの詳細を参考にしてみました。

/**
 * アニメーションGIFかチェック
 *
 * @params string $img_file   画像ファイル(画像ファイルまでのPATH付き)
 * @return bool               true:アニメーションGIF false:それ以外
 */
function checkAnimationGif($img_file) {
    if (!file_exists($img_file)) {
        // ファイルが無い
        return false;
    }
    if (!($fp = fopen($img_file, "rb"))) return false;
    $head = fread($fp, 6);
    if (!preg_match("/^GIF89a/", $head)) {
        // GIF89a 以外
        return false;
    }
    // カウント初期化
    $gce_cnt = 0;
    while (!feof($fp)) {
        if (bin2hex(fread($fp, 1)) != "21") continue;
        switch (bin2hex(fread($fp, 2))) {
            /*
            // 2014-11-06 削除
            case "ff0b": // Application Extension
                fclose($fp);
                return true;
                break;
            */
            case "f904": // Graphic Control Extension
                $gce_cnt++;
                if ($gce_cnt > 1) {
                    fclose($fp);
                    unset($gce_cnt);
                    return true;
                }
                break;
        }
    }
    fclose($fp);
    unset($gce_cnt);
    return false;
}

多分これで、チェックできるはず・・・

追記:2014-11-06
adobeのフォトショップで作成されたgifでApplication Extensionが含まれる通常のgifが作成されていることがわかりましたので
上記のソースを修正しました。

スポンサーリンク

[忘れっぽい]phpのmongoドライバーのインストール[メモ]

何気に、phpのバージョンを上げて、mongoドライバが認識されないのを2時間くらい悩んだので、メモメモ・・・

↓インストール手順
http://www.php.net/manual/ja/mongo.installation.php#mongo.installation.manual
取りあえず、前回の使ったドライバのディレクトリで手順をやっていたのでちゃんとmakeされていなかったorz

まぁ、やる前に「make clean」しろと自分に言い聞かせる・・・

あぁ無駄な時間だった・・・

スポンサーリンク