サイトをSSLに対応させようと思って上手く行かなかった

website_normal.png 先日の日曜日、久々の何も予定がないお休みということで、朝からこの対応をしていたのだけど。 サイトをSSLに対応させないとGoogle Chromeに怒られるようになるらしい | mutter 上手く行かなかった。

上手く行かなかった原因

環境さえ整っていれば、SSLへの対応はとてもシンプル。
  1. 秘密鍵・CSRの作成、設定
  2. Let’s EncryptのCertbotをインストール
  3. 証明書を取得して設定
めちゃくちゃ雑に書くとこういう手順で行けるんだけど、僕の環境ではCertbotが上手く入らなかったし、その他でも色んな苦労があった。基本的な原因はもうすべてこれ。 サーバのOSが古い(CentOS 5.6) これに尽きます。このせいで、
  • OpenSSL0.9.8なので、wgetやcurlを使ってhttps経由でファイルを取得しようとすると失敗する
  • OpenSSL 1.0系は入らない
  • Certbotが要求するPythonは2.7以上だけど、サーバでは2.4
  • SLCに対応していないのでPython入れるのに一苦労。ソースコードダウンロードして手動でインストール
  • ここでもOpenSSLしんどい
  • 既存のPython置き換えるのどうすんだっけ
  • 関連モジュールとかいろいろ入らない
  • 何とか入れたはずだけどCertbotが上手く動かない
書き出すだけであーってなる。 さくらのSSLでラピッドSSL契約しても良いんじゃないのという話もあるけれど、ドメインを複数持っててサブドメインも複数あるんで、全部カバーするとすごいコストになっちゃう。出来るだけ無料でやりたい。 くそう。 多分、上手いこと回避してやる方法はあるとは思うんだけど、もともと習熟しているわけでは無い上に長いこと触ってなかったから1つ1つが時間掛かって仕事だったら給料返すレベル。 これはもう、引っ越すしかないのでは……(ヤケ)

続きを読む

サイトをSSLに対応させないとGoogle Chromeに怒られるようになるらしい

全てのHTTPサイトに「保護されていません」の警告、「Chrome 68」リリース – ITmedia エンタープライズ

米Googleは2018年7月24日、通信の内容が暗号化されないHTTPサイトについて、同日リリースしたWebブラウザ安定版の「Chrome 68」からは、全てに「Not secure(保護されていません)」の警告を表示すると発表した。  これは、WebのHTTPS暗号化を推進するGoogleが以前から予告していた措置。バージョン67までのChromeでは、HTTPサイトはアドレスバーのURLの左側に「i」のアイコンが表示され、クリックすると「このサイトへの接続は保護されていません」という警告が表示されていた。  これに対してChrome 68からは「i」のアイコンに加えて、「Not secure(保護されていません)」の文字が表示される。

マジかー。 ずっと対応しないとなあと思いながらもつい面倒で放置していた、自サイトのSSL問題。確認ウィンドウが出るとか、ページ遷移前に警告画面が表示されるとか、もっと派手にやるのかなと思ったけど、以外と大人しいのね。 ユーザー登録もコメント欄すらないので特に困らないと言えば困らない(フォーム送信するのはブログの管理ツールくらい)けど、まあでもそのうちもっと警告が大きくなるかも知れないし、ここらで対応しておく方がいいかな。。 幸い、今は無料で十分な機能を持つSSL証明書発行サービスがあるらしいので、次の休みにやろうかなと思います。こういうとこがレンタルサーバだと楽なんだけどなー。まあでもその自由が好きでVPSにしてるわけだから。自分で設定しないと。この面倒さ加減も趣味としては楽しみの一部ではあるね。

参考にする予定のサイト

Let's Encrypt 総合ポータル さくらVPSにSSL証明書を導入しHTTPS通信の構築

続きを読む

「さくらのVPS 4G」が受付再開してた

うっかり見逃していたのだけど、さくらのVPSのプランの中で尤もコストパフォーマンスがよいと言われていて、 東日本大震災の影響で受付が一時停止されていた「さくらのVPS 4G」が受付再開してました。 「さくらのVPS 4G」プランのお申し込み受付再開のお知らせ | レンタルサーバはさくらインターネット まぁ、再開が4/26ということなので、全然全く新しい情報ではないのですけど。 自分のプライベート用としては、月額費用はドメイン料込みで4,000円程度に収めたいと思っていて、 そう考えるとちょっとこのプランでは足が出てしまうのだけど(しかも多分オーバースペック)、 業務でちょっとした用途に使うという話であれば十分にアリだなぁと思ったりとか。 というかそのために自分なりに情報を書き留めてもいたので。 いろんな処理がごりごり混ざるビジネス用途にまともに使えるとは思ってはいませんが、 それにしてもフロントエンドくらいには使えそうだなぁというね。 ちょっと検討してみよう。

続きを読む

ionCubeとXdebugの読み込み順ではまる(VPSその8)

開発の終了が発表されても依然として使用しているフレッシュリーダー。 いずれGoogleリーダーにでも引っ越そうかなと考えてはいるのですけど、 設定の引き継ぎが面倒なのでなんとなく躊躇。 VPSへの引っ越しもタイミングだったかなとは思ったんですが、まぁ面倒だったので今回も結局継続使用します。 フレッシュリーダー自体は丸ごとrsyncでコピーすればOK。 データもライブラリもそれで問題ない。 (環境がLinux→Windowsとか、PHP4→PHP5とかでない限り) 以下、ハマリどころを中心にそれ以降の設定について。

続きを読む

MRTGを使ってLoad Averageのグラフ化(VPSその7)

いくつかあるブログ/サービスを1つのサーバにいくつ入れるか?で悩んでいたのだけど見当が付かないので、 とりあえず軽そうなものから順番に入れていき、都度、Load Averageのデータを取っていくことに。 割り切ってブログ/サービスごとにサーバを分ければ楽になるけどその分コストが嵩むことになるし、 全部を1つにまとめられれば便利だけどそれで負荷が掛かりすぎたら意味無いし。 というわけでサーバ監視システムを導入。 もっと多機能なものは他にもいくつかあったけど、入れやすさと軽さでMRTGを入れてみた。 参考にしたのはこちら。 MRTG で Load Average をグラフ化する まぁ大体、書いてあるとおりにやればOK。

  1. yumでインストール
  2. 各種設定
で、こんな感じになると。 んー…大体0.1前後か。まだ全然余裕あるなぁ。 (負荷が掛かっている部分は、Apacheの設定をあれこれいじってたところ) メインブログと、それ以外で分けたら十分かも知れない。 というかそもそもブログって負荷小さいんだよな、きっと。

続きを読む

さくらのVPSにAPCを入れる(VPSその6)

それほど負荷を掛けているわけではないのでまだパフォーマンスを気にするレベルにはありませんが、 出来ることはやっておこうかと言うことでPHPアクセラレータをインストール。 eAcceleratorを試そうかなーと一瞬考えもしたけど、まぁインストール簡単なのを、ということでAPCを選択。 PHP: APC – Manual

続きを読む

iptablesを設定した(VPSその5)

はてなブックマークで上位に来ていたこちらを参考に、iptablesを設定しました。 これぐらいやっとけ ~Linuxサーバのセキュリティ設定~ – nabeの雑記帳 恥ずかしながら何もやっていなかったので。 (iptablesでどういう事が出来るのかも知らなかった) 処理手順は設定のための処理を書いたシェルスクリプト(iptables-init.sh)を用意し、 それを実行して設定を反映、その上で設定をファイルに書き出して再起動しても適用されるように。 そんな感じ。

続きを読む

sshfsでマウントした領域に書き込めないとき(VPSその4)

前回

さくらVPSにもう1台のさくらVPSをマウントする(VPSその2) – nplll

構成

  • vps1 … ブログの公開領域
  • vps2 … mt.cgi + MySQL
前回、VPSその1のディレクトリをVPSその2にマウントすることが出来たのだけど、MySQLデータのインポートを行って実際に再構築を掛けてみたらばファイルが作成できないというエラーが出た。該当ディレクトリのパーミッションを試しに777にしてみたらばそのファイルについては作成できたのだけど、関連する全てのディレクトリのパーミッションを777にするわけには行かないし、新規作成ディレクトリは777では作成されない。要するにそんな誤魔化しじゃなくて、もうちょっとちゃんとパーミッションを調整しなくてはいけない。 最初、マウントポイントの権限の問題(マウントポイントの所有者はrootになる)かなと思ったけど、 そうではなくオプションを付ければいいらしい。 参考にしたのはこちら。
注意: まだ確認ができていないが、Subversionリポジトリのバックアップにおいて、マウント先に生成した一時ファイルのリネームが行われるらしい。 上記の方法でsshfsを起動すると既存ファイルのリネームができないため、「許可されない操作」とか「ファイルシステムエラー」というエラーが起こる。
 
書かれているのはSubversionに関することで僕の問題とは違うけれども、 エラーの状況から見てそれが起こる理由は同じように思えたので試してみたら上手く行った。 実行コードはこうなった。
$ sshfs -p SSHポート番号 ユーザー名@サーバ:ディレクトリ マウントポイント -o workaround=rename
ちなみに、マウントしたディレクトリは扱いやすいところにシンボリックリンクを貼って適当にやると思うんだけど、そのディレクトリ構成がマウント元のディレクトリ構成と異なるとmt:Includeで嵌るので注意。 (そんなことやってる人いないだろうから注意も何もないけど)
こう書き出される↓
本当はこう書き出されて欲しい↓
まぁ、自分自身が存在しているサーバで使用することを前提に書き出してるんだから当たり前なんだけどね。 mt:Includeを使わないようにすることも考えたけど、様々な利便性を考えた上で、 マウント元でシンボリックリンク貼ることで対応した。 とりあえず何とかなってるっぽい。

続きを読む