[メモ]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

スポンサーリンク

[メモ]特定のディレクトリをhttpsへ[memo]

連投・・・

仕事で入力系がある箇所をhttpsにし、それ以外をhttpとしたいという感じになったので、調べた・・・

結構な数のファイルがあるので、対象のページへのリンクをhttpsにしたりhttpにするというのは、ちょっとアフォな感じだったので、mod_rewriteを使用する方向で。

htdocs直下の.htaccessに以下のように記述

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} 443 #httpsでアクセスがある場合にhttpへリダイレクト
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

httpsにしたいディレクトリの.htaccessには以下のように記述

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SERVER_PORT} 80 #httpでアクセスがあった場合httpsへリダイレクト
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

ただし、共通で使用するファイルなどがある場合(たとえば、cssやjs、画像ファイル)、そのディレクトリの.htaccessは以下のように記述すると、どちらからのアクセスであってもhtdos直下で設定した.htaccessに影響されないようになる。

<IfModule mod_rewrite.c>
    RewriteEngine off
</IfModule>

これを設定しないと、httpsでアクセスしているページでの読み込みでセキュリティエラーになる。chromeだとファイルがよみこまれないようなるなど・・・IEだとアクセスする度にセキュリティが~といわれる・・・orz

ということで、上記のように書くといいらしいです。

スポンサーリンク

[メモ]プログラムによるpdf出力[memo]

久しぶりに・・・
書く時はいつも久しぶり・・・

IEでSSL環境下の場合にPDFファイルをプログラムで出力すると、セキュリティがうんたらかんたらと言われるというのがある。

IE意外だと以下のように書くと普通に出力(表示)される。

header('Content-type: application/pdf');
readfile('original.pdf');

IEだと以下のヘッダーがないと上手くいかない

header("Pragma: public"); //<----- これ
header("Cache-Control: public, must-revalidate"); //<----- これ
header('Content-type: application/pdf');
readfile('original.pdf');

※たぶん古いIEで出る現象だったきがする・・・

スポンサーリンク