httpsへ移行

かねてからの懸案として、いつかはhttpからhttpsへ移行すべき課題が残っていました。今回やっとのことで、それが実現しました。


先日、自分のサイトを観ようとブラウザでアクセスしたら、なにも表示されないという現象が起きました。

現在、メインのWebブラウザとして使っているのは Google Chrome です。頻繁にアップグレードされているようです。しばらく前から、httpのサイトは危険だという警告がされていました。それでもなんとか表示はされていたので、とりあえずはこのままでいいだろうと放置していたのですが、何も表示されなくなるとは思いもしませんでした。

もしかしたら、ファイルが全部消えてしまったのではないかと不安になり、FTPクライアントで接続して確認したり、データベースが消えてないかも調べましたが、問題ありませんでした。要するに、ブラウザの設定が厳しくなってしまったのでした。

GoogleChromeのセキュリティ設定が変わっていて、httpサイトは表示しない設定になっていたのです。自分のサイトだけではなく、他にもhttpのままのサイトはたくさんありますから、それらが表示されないというのでは厳しすぎます。

とにかく、設定を変更して、httpのサイトも表示でいるようにしました。

念の為に他のブラウザ、たとえばWindwosにおまけで付いてくるMicrosoftEdgeを使ってみたら、httpも危険だという印はあるものの、きちんと表示されました。

とにかく、このまま放置しておくと、いつかは本当に表示できなくなるのではと、不安になってきました。

そこで、本格的に対処することにしたわけです。


実は、今年2022年の元日にMySQLデータベースのバージョンアップ、要するに、データベースサーバの移転をしたのですが、そのときに、httpsの方も試してみたのです。

結果としては、htmlで書いた物は問題なく表示されました。しかし、phpプログラムが正常に動きません。何が問題なのかを検討する前に、元に戻してしまいました。それからほぼ一年間放置していたというわけです。


AvocadoMixの他にも運営しているサイトがありまして、そちらは既にhttpsへの移行を実行していました。

そちらの方にもphpプログラムで書いたものもありましたが、それは一般公開していないので、実用的には問題なかったのです。

そこで、そちらのサイトで問題解決法を試すことにしました。

まずはデータベースから読み出して表示する部分から初めて、データベースの登録などのプログラムの動作がきちんとできるようにしました。

ここで得た手法をAvocadoMixに適用させたという訳です。

実際には、AvocadoMixの方はphpで書いたファイルがたくさんありましたから、かなり時間がかかりました。

ちなみに、郵便番号検索のシステムでは6個のphpを修正しました。その他では30個ですから、合わせて36個のphpを修正となりました。一つのphpファイルの中でも数カ所を書き換えましたから、かなりの量となりました。


いよいよ、サーバー側のSSL処理をして、httpからhttpsに変更しました。ほとんど誰も観ていないようなサイトではありますが、アクセスが無いだろうと思われる早朝の時間帯で作業を行ないました。

その後、トップページなどのhtmlからphpを呼び出しているファイルも修正しました。これも数個のhtmlファイルとなりましたが、なんとか無事作業を完了しました。


ということで、AvocadoMixは https://avocado.xii.jp となりました。

とはいえ、これまでどおり http://avocado.xii.jp でアクセスしても、自動的にhttpsへ転送されますから、あえて書き換える必要はありません。


実は、まだ課題があります。それはphpのバージョンアップです。phpのバージョンアップはかなり問題有りです。それは単純に関数などが増えるというだけではなく、使えなくなるものがあったり、文法どころか構文そのものを変更しなければならなくなったりするのです。

試しに、最新版にしてみたら、なんと何も表示されないということになってしまいました。そこから、段階的にバージョンを提げていくと、ある段階でエラーが表示されました。なんと、驚くことに自分が作った部分ではなくて、フレームワーク側の問題でした。速攻あきらめました。

追記

なんと、これを書いている最中に、修正漏れが多数見つかりました。トップページとブログの中のかなりのページです。あわてて修正しました。

2022年12月25日 記