Translate

2019年8月8日木曜日

SSL対応のためのファイルの再アップロードとファイルの修正(2)

 今回は、/ssl/homeにアップロードする.htaccessの内容を見直し、必要であれば修正します。

 .htaccessをファイルの先頭から精査します。

 まず最初にあるのは、

RewriteEngine on

 これって、なんだっけ? これを書いたのは数年前なのですっかり忘れていたが、リダイレクト処理を記述するために必要らしい。これはそのまま残す必要がある。

 次にあるのは、ページ表示速度改善のための圧縮ファイルの設定。ファイルをgzファイルに圧縮することで表示速度を改善することができますが、そのための設定です。

##圧縮
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}\.gz -s
RewriteRule .+ %{REQUEST_URI}.gz

#スタイルシート (.css)
<FilesMatch "\.css\.gz$">
 ForceType text/css
 AddEncoding x-gzip .gz
</FilesMatch>

#Javascript (.js)
<FilesMatch "\.js\.gz$">
 ForceType application/x-javascript
 AddEncoding x-gzip .gz
</FilesMatch>

#HTML (.html)
<FilesMatch "\.html\.gz$">
 ForceType   text/html
 AddEncoding x-gzip .gz
</FilesMatch>

 これも、そのままで良いでしょう。

 ブラウザにキャッシュさせる時間をファイルの種類別に設定します。キャッシュさせる時間を長く設定すれば、繰り返し表示される場合に表示時間を短縮できますが、ファイル更新の反映が遅れます。

RewriteRule \.php$ - [L,E=X_CACHE_PATTERN1:]
RewriteRule \.html$ - [L,E=X_CACHE_PATTERN2:]
RewriteRule \.(css|js)$ - [L,E=X_CACHE_PATTERN3:]
RewriteRule \.(gif|jpe?g|png)$ - [L,E=X_CACHE_PATTERN4:]


# For CSS,JavaScript files
#Header set Cache-Control "max-age=600" env=X_CACHE_PATTERN3

# For Image files
#Header set Cache-Control "max-age=86400" env=X_CACHE_PATTERN4

 設定内容には改良の余地もありそうですが、SSL化に関して必要な修正はありません。

 あとは、Redirect temp によるURLリダイレクトの設定が続きますが。すべてウェブマスターツール(現在のサーチコンソール)で発生した「ファイルが見つからない」エラーの対策なので、SSL版では削除します。

 ちなみに、Windowsで.htaccessのような.がファイル名の先頭に来るファイルを作るには、メモ帳などのテキストエディタでファイルを保存する際にファイル名を"と"で囲みます。.htaccessの場合は".htaccess"というファイル名で保存します。

SSL対応のためのファイルの再アップロードとファイルの修正(1)

 WebARENAのWebサイトのSSL設定が完了しました。最初の目論見では、WebARENAに依頼したSSL証明書の設定が完了すれば、すでにアップロード済みのファイルが自動的にhttpsでアクセスできるはずでした。しかし、httpでアクセスするには、/sslにファイルをアップロードする必要があることがわかりました。なんだか、ちょちょいとサーバーの設定を変更するだけで出来そうな気もしますが、そう思えば思うほど、これからの作業が面倒に感じられて、ついついため息が出てしまいます。

 これからSSL化に伴って作業を進めるうちに、アップロード先ディレクトリだけでなく、他にも面倒な作業が待ち受けていそうで不安な気持ちにもなります。しかし、できるだけ早く作業を進めなければ、SSL証明書の有効期限はどんどん少なくなってしまいます。

 つい愚痴が出てしまいましたが、作業を開始することにします。

 まず、httpのルートディレクトリ /home のファイルを /ssl/home にアップロードしました。そして、index.htmlにアクセス。すると、スクリプト類がまだhhtpを参照しているので、ページのあちこちがブロックされて正しく表示されません。最初は、こんなものです。

 ところで、ルートには.htaccessなどの設定ファイルがあります。これらの設定ファイルがこのままでいいのか検証する必要もあります。ついでに、今は使わなくなったゴミファイルを削除していきます。

 内部リンクをどうするか? という問題については、すでに存在するファイルのリンク(http)をすべてhttpsに書き換える時間も気力もないので.htaccessでリダイレクトすることにします。今後追加するリンクについても、httpsではなく、httpを使うことにします。その理由は、なんらかの理由でSSL証明が切れた場合、ファイルを/ssl/homeから/homeに移動すればサイトの運営を続けられるからです。ただ、ブラウザがhttpサイトへのアクセスに対する警告表示の際に、httpからhttpsへのリダイレクトを適切に判断してくれるか少し不安もあります。もしそうでなければ、途方もない作業が待ち受けていることになります。

 今わかっている範囲でまとめると、今後、次のような作業が必要となります。

  • .htaccessなどの設定ファイルの修正
  • 不要ファイルの削除
  • /sslへのファイルのアップデート
  • httpからhttpsへのリダイレクト

WebARENA SuiteXで独自SSLを設定(2)

 先日WebARENAに設定依頼したSSL設定が完了しました。

 証明書の有効期限は、2020/8/4まで。グローバルサインでの証明書取得は即時だったものの、WebARENAでのSSL設定が最短5営業日だったため、有効期限は1年未満になってしまいました。来年、証明書を更新するときにシームレスにSSL対応を続けるにはどうすればいいのだろう? 次回更新時までに解決策を見出さなければなりません。

 さて、早速そのサイトにアクセスしてみました。まず、URLはhttp:のまま、サイト内の特定のファイル https://domain/foo.htmlにアクセスしてみます。https://domain/foo.htmlにリダイレクトされるかと思いきや、そうはなりません。ブラウザはファイルを見つけることができません。

 自動でリダイレクトされないとすれば、直接httpsを指定してみればどうなるだろうか? https://domain/foo.htmlでアクセスしてみました。これも、ブラウザはファイルを見つけることができません。

 トップページへのアクセスはどうだろうか? https://domain/でアクセスしてみます。今度は、以前に使っていた共用SSLのページが表示されました。

 共用SSLの設定を解除する必要があるのだろうか? WebARENAの管理ツール「サイトマネージャ」で共用SSLの設定を確認するとすでに共用SSLは解除されています。

 共用SSLの設定は解除されているのに、なぜ共用SSLで使っていたファイルが表示されるのだろうか? 共用SSL用のhtmlのホーム /ssl/home をFGTPで覗いてみると、以前に使った index.html が残っていました。これが表示されていたのです。とすれば、SSL用に改めてファイルをアップロードする必要があるのだろうか?

 改めてWebARENAのドキュメントを調べてみると、独自SSLの場合も/ssl以下にファイルを置かなければならない様です。

 今後の作業をまとめると、(1) /sslにファイルをアップロードする (2) hostsでhhtpへのアクセスをhttpsにリダイレクトする

 結構な作業になりそうです。