サーバーで起こった問題

今回サーバーで起こった問題を、解決するまで行ったことを書いておく。
まず起こった問題は、サイトにアクセスした際に乗っ取られているような表示になった。
自力ではわからなかったので、やむなくDDNSプロバイダのNo-IPに質問した。
回答はSSLの証明書を発行しているところに聞いてくれだった。
なのでLet’s Encryptに同じ質問をする。
するとドメイン名に「www」がある場合とない場合でもアクセスできるように、また「http」と「https」のどちらでもアクセスできるようにしなければならない、ということだった。
それに対応すべくVirtualDomainに80番と443番を設定し、それぞれのディレクティブに「ServerName candy-cc.com」と 「ServerAlias www.candy-cc.com」を記述した。
これで一見解決したように見えたが、どうやら二重定義になっていたようだ。
それでわかったことがssl.confはhttpd.confのSSLに関することを、別ファイルに記述しているだけであって、それぞれに同じ内容を記述してはいけないのであった。
なので各ディレクティブをそれぞれに記述してみたが解決せず。
certbotで「www」ありとなしの両方で証明書を発行してみたがこれも違う。
こんなやり取りをしているうちに豪を煮やして「httpd.conf」と「ssl.conf」のファイルそのものをアップしてほしいと言われた。
それが返ってきてわかったのが、VirtualDomainでないところのServerNameには使用していない仮のサーバー名を記述する、それ以外は正しいようだった。
これで完了したと思ったら、また同じ問題が発生した。
そのエラーを解析しているうちに、ドメイン名で返されるIPアドレスと、実際にサーバーのあるネットワークのIPアドレスが違っていた。
これはDDNSを使っているからかと質問すると、そうであろうと返ってきた。
となれば再びNo-IPにその旨を質問した。
回答は同一ネットワーク内に、動的IPアドレスとドメイン名を結びつける行為は複数あってはいけない、つまりウチの環境ではルーターとメインPCにインストールしてあるDUC (Dynamic Update Client)の2つあった。
なのでDUCをアンインストールすることで解決した。
それ以降何度も確認しているが、現在のところ問題は発生していない。
なお証明書の発行には「certbot certonly –cert-name candy-cc.com –apache -d “candy-cc.com,www.candy-cc.com” –deploy-hook “httpd -k graceful”」と実行して、証明書は「candy-cc.com」に発行し、ドメイン名は「candy-cc.com」と 「www.candy-cc.com」の2つであると指示すれば良い。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Flash

Previous article

動画公開 その4
WordPress

Next article

久しぶりのサイト更新