自宅サーバが起動しなくなったのでLighttpdで全ページ503を返すようにしました.
思ったよりアクセスが多いのでアクセスの多いドメインのDNSを変更して外のサーバに向けることにしました.
このサーバはApache httpdが動いているのでLighttpdと同じ設定は使えないので少し調べて設定してみました.
対象ドメインの設定を作成.ここでは「 sub1.example.org
」としています.
`/etc/apache2/sites-enabled/090-sub1.example.org.conf
<VirtualHost *:80> ServerName sub1.example.org Redirect permanent / https://sub1.example.org/ </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName sub1.example.org ServerAdmin webmaster@example.org DocumentRoot /var/www/sub1.example.org/ RedirectMatch 503 ^/(?!503\.html) (1) ErrorDocument 503 /503.html ErrorLog ${APACHE_LOG_DIR}/error_sub1.example.org.log CustomLog ${APACHE_LOG_DIR}/access_sub1.example.org.log combined SSLCertificateFile /etc/letsencrypt/live/sub1.example.org/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/sub1.example.org/privkey.pem </VirtualHost> </IfModule>
- すべてのURLを
/503.html
に転送します.
対象ドメインの証明書を旧サーバからコピーしておきます.
ディレクトリ作成
$ sudo mkdir -p /etc/letsencrypt/tmp/sub1.example.org/
リモートサーバの /etc/letsencrypt/live/sub1.example.org/fullchain.pem
と /etc/letsencrypt/live/sub1.example.org/privkey.pem
を /etc/letsencrypt/tmp/sub1.example.org/
以下に置く.
権限設定してリンクを貼ります.
$ sudo chown -R root.ssl-cert /etc/letsencrypt $ sudo ln -s /etc/letsencrypt/tmp/sub1.example.org/fullchain.pem /etc/letsencrypt/live/sub1.example.org/fullchain.pem $ sudo ln -s /etc/letsencrypt/tmp/sub1.example.org/privkey.pem /etc/letsencrypt/live/sub1.example.org/privkey.pem
503用のhtmlを用意しておきます.
$ sudo -u www-data mkdir /var/www/sub1.example.org $ sudo -u www-data vi /var/www/sub1.example.org/503.html
apache httpd再起動
$ sudo service apache2 restart
DNS書き換え前に検証の行えるローカルのPCのhosts書き換えて動作テスト.
$ echo "192.0.2.5 sub1.example.org" | sudo tee -a /etc/hosts (1) $ w3m -dump_head head http://sub1.example.org/piyo | grep ^HTTP/ (2) HTTP/1.1 503 Service Unavailable $ w3m -dump_extra head http://sub1.example.org/piyo | lv (3)
- 新しいサーバのIPアドレスを指定する.
- 503が帰ってくることを確認
- 証明書も確認
動作確認が出来たら /etc/hosts
を戻しておく.
この後,DNS書き換えを行いDNSが伝播してから再度動作確認を行う.
対象ドメインのSSL証明書更新もしておく.
$ sudo certbot certonly -d sub1.example.org
という感じでサーバ移行しました.
それまで自宅に9000アクセスほど有りましたが8500程は外のサーバに行くようになりました.
環境
$ dpkg-query -W apache2 certbot apache2 2.4.38-3+deb10u7 certbot 0.31.0-1+deb10u1 $ lsb_release -dr Description: Debian GNU/Linux 10 (buster) Release: 10 $ arch x86_64