UbuntuでApacheを使用してHTTPからHTTPSへのリダイレクトを設定する方法


  1. ApacheのSSLモジュールを有効化する:

    sudo a2enmod ssl
  2. SSL証明書を取得: 一般的な方法は、Let's Encryptなどの証明書発行元を使用することです。以下は、Certbotを使用してLet's Encryptから証明書を入手する手順です。

    sudo apt update
    sudo apt install certbot
    sudo certbot certonly --webroot -w /var/www/html -d example.com

    上記のコマンドを実行すると、指定したドメイン(example.com)の証明書が生成されます。

  3. Apacheの設定ファイルを編集:

    sudo nano /etc/apache2/sites-available/000-default.conf

    ファイルを開き、以下の行を追加して保存します:

    <VirtualHost *:80>
       ServerName example.com
       Redirect permanent / https://example.com/
    </VirtualHost>

    上記の例では、example.comをリダイレクト先のドメインに置き換えてください。

  4. HTTPSの設定を行うためにApacheの設定ファイルを編集:

    sudo nano /etc/apache2/sites-available/default-ssl.conf

    ファイルを開き、以下の行を編集して保存します:

    <IfModule mod_ssl.c>
       <VirtualHost _default_:443>
           ServerName example.com
           DocumentRoot /var/www/html
           SSLEngine on
           SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
           SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
       </VirtualHost>
    </IfModule>

    上記の例では、example.comを証明書を取得したドメインに置き換えてください。

  5. 変更を有効にする:

    sudo a2ensite 000-default.conf
    sudo a2ensite default-ssl.conf
    sudo systemctl restart apache2

    上記のコマンドを実行して、変更を有効にします。

これで、ApacheはHTTPへのアクセスを自動的にHTTPSにリダイレクトするように設定されます。サーバーにアクセスする際には、HTTPではなくHTTPSを使用してください。また、証明書の更新には定期的な手続きが必要な場合があることに注意してください。

以上が、UbuntuでApacheを使用してHTTPからHTTPSへのリダイレクトを設定する方法です。