Apache リバースプロキシを設定して、Apache 構成ファイルで複数のドメインを持つ内部アプリにアクセスし、lets encrypt を使用して SSL を有効にする

Apache リバースプロキシを設定して、Apache 構成ファイルで複数のドメインを持つ内部アプリにアクセスし、lets encrypt を使用して SSL を有効にする

オンラインの Ubuntu サーバー チュートリアルの多くは、リバース プロキシの設定方法のみを示しており、SSL Lets Encrypt を使用して設定する方法や、サーバー上の他のドメインと一緒に設定する方法については説明していません。次の設定方法に関する簡潔なチュートリアルはありますか。

  • 内部アプリにアクセスするためのApacheリバースプロキシ
  • SSLを設定すると、このアプリがhttps経由でアクセスできるように暗号化されます。

答え1

Ubuntu サーバーに Apache がインストールされていると仮定すると、root を使用してプロキシ モジュールをインストールする必要があります。

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests

インストールしたら、/etc/apache2/sites-available/000-default.conf ファイルを変更して新しいサイトを追加する必要があります。以下の例を使用します。

<VirtualHost *:80>
    ServerName xxxx.yyyy.com

    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:26876/
    ProxyPassReverse / http://127.0.0.1:26876/

        <Directory /var/www>
        AllowOverride All
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

      RewriteEngine on
      RewriteCond %{SERVER_NAME} =testardor.xcubicle.com
      RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

セットアップが完了したら、次のコマンドを使用して Apache を再起動する必要があります。systemctl apache2 を再起動します

次に、Let's Encrypt を使用して SSL をセットアップします。最初は SSL のセットアップがわかりにくいように思えましたが、非常に簡単でした。次のチュートリアルに従ってください。https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04

それは次のように簡単です:

sudo add-apt-repository ppa:certbot/certbot

sudo apt install python-certbot-apache

sudo certbot --apache

指示に従って設定してください。Apache を再起動することを忘れないでください。

注: すでに Let's Encrypt をセットアップして新しいドメインを追加している場合は、000-default-le-ssl.conf ファイルを削除して、certbot で再度生成するだけです。問題が発生したため、これを実行する必要がありました。

関連情報