Configure Reverse Proxy
on Ubuntu Server 22.04 using Nginx

Ubuntu 22.04 で Nginx リバースプロキシの構成


■Nginxをダウンロードしてインストールします

まず、ソフトウェア パッケージのインデックスを更新し、nginx パッケージをインストールします

# apt update
apt install nginx

ファイルを開き、IPv6 に関連する行をコメント アウトし、変更を保存してファイルを終了します。

# vi /etc/nginx/sites-available/default
...
server {
        # listen 80 default_server;
        # listen [::]:80 default_server;
...

コマンドを実行して、インストール パッケージを正しく構成します。

# dpkg --configure -a

次のコマンドを実行して、ユーティリティの機能を確認します。

# service nginx status

ufw を使用した Nginx 接続ルールを許可します。

# ufw allow 'Nginx HTTP'
# ufw allow 'Nginx HTTPS'

サーバー側の構成

/etc/nginx/sites-available ディレクトリに、ドメインの名前のファイルを作成します。

# vi /etc/nginx/sites-available/test_domain.com

test_domain.com ファイルへのシンボリック リンクを作成します。

# ln -s /etc/nginx/sites-available/test_domain.com /etc/nginx/sites-enabled/

-t スイッチをnginx -t使用して nginx をテストしてみましょう。

# nginx -t

■サーバーSSL証明書の作成

下記のディレクトを用意します。

# mkdir /etc/ssl/private
# chmod 700 /etc/ssl/private

次のコマンドで、OpenSSL を使用して自己署名キーと証明書のペアを作成します。

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

強力な Diffie-Hellman グループを作成します。
# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

■サーバーSSL/TLS設定

SSL証明書の取得(Let's Encrypt)

Let's Encrypt から証明書を取得するツールである Certbot Client をインストールします。

# apt -y install certbot

ドメインの証明書を作成します。

# certbot certonly --webroot -w /var/www/html -d test_domain.com

ドメインサイトのコンフィグレーション情報にドメイン証明証を設定します。

# vi /etc/nginx/sites-available/test_domain.com
server {
        server_name test_domain.com;
        listen 80;
        root /var/www/html;
        # Enforce HTTPS
        return 301 https://$server_name$request_uri;
}
server {
    server_name test_domain.com;
    listen   443    ssl;
    server_name  test_domain.com;
    root         /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    ssl_certificate "/etc/letsencrypt/live/test_domain.com/fullchain.pem";
    ssl_certificate_key "/etc/letsencrypt/live/test_domain.com/privkey.pem";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    location / {
         try_files $uri $uri/ =404;
   }
}


Nginxサーバーを再起動します。

# systemctl restart nginx.service
Configure Reverse Proxy
原田 達明 25 June, 2023
Share this post
Archive
Sign in to leave a comment

Zimbra 不要なファイルの削除