GNU/Linux >> Linux の 問題 >  >> Cent OS

Nginxリバースプロキシを設定する方法

このチュートリアルでは、リバースプロキシを設定する方法を説明します。知らなかった方のために、Nginx HTTPSリバースプロキシは、クライアントを利用する中間プロキシサービスです。リクエストし、それを1つ以上のサーバーに渡し、その後サーバーの応答をクライアントに返します。複数のサーバーがある場合、リバースプロキシはサーバー間の負荷のバランスを取り、パフォーマンスを向上させるのに役立ちます。リバースプロキシは単一のポイントを提供します。クライアントの連絡先として、複数のサーバー間でロギングとレポートを一元化できます。

この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudoを追加する必要があります。 ルート権限を取得するコマンドに‘。リバースプロキシを設定する手順を段階的に説明します。

前提条件

  • 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOSまたはUbuntuLinux。
  • 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
  • non-root sudo user またはroot userへのアクセス 。 non-root sudo userとして行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。

Nginxリバースプロキシのセットアップ

ステップ1.まず、システムが最新であることを確認することから始めましょう。

sudo dnf update

ステップ2.LinuxシステムにNginxをインストールします。

  • CentOS 8へのNginxのインストールは、次のように入力するだけです。
sudo dnf install nginx
  • Ubuntu20.04LTSへのNginxのインストールは次のように入力するだけです。
sudo apt install nginx

インストールが完了したら、Nginxサービスを有効にして開始します:

sudo systemctl enable nginx
sudo systemctl start nginx

http://localhostに移動します ブラウザで、Webサーバーが期待どおりに実行されていることを確認します。

手順3.Nginxリバースプロキシを設定します。

まず、次のコマンドに従って仮想ホストを無効にします。

sudo unlink /etc/nginx/sites-enabled/default

/etc/nginx/sites-available内にファイルを作成する必要があります リバースプロキシ情報を含むディレクトリ。このreverse-proxy.confに名前を付けることができます 例:

nano reverse-proxy.conf
server {
    listen 80;
    location / {
        proxy_pass http://192.168.77.20;
    }
}

ここで重要なのは proxy_pass 基本的に、Nginxリバースプロキシを介して着信するすべてのリクエストをApacheリモートソケット192.168.77.20:80に渡すように指示するディレクティブ。

適切なディレクティブを.confに追加したら ファイル、/sites-enabled/にリンクしてアクティブ化します 次のコマンドを使用します:

ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf

Nginx構成ファイルをテストします:

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

最後に、Nginx構成テストを実行し、Nginxを再起動してパフォーマンスを確認する必要があります:

sudo systemctl restart nginx

ステップ4.Let’sEncryptを使用したNginxリバースプロキシ。

マシンのコマンドラインでこれらのコマンドを実行して、Certbotをインストールします:

wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto

次に、このコマンドを実行して証明書を取得し、CertbotにNginx構成を自動的に編集させます:

sudo /usr/local/bin/certbot-auto --nginx

結果は次のようになります:

Creating virtual environment...
Installing Python packages...
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: your-domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for your-domain-a.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/reverse-proxy.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/reverse-proxy.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://your-domain.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=your-domain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your-domain.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your-domain.com/privkey.pem
   Your cert will expire on 2020-08-03. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

おめでとうございます!リバースプロキシの設定に成功しました。このチュートリアルを使用してLinuxシステムにNginxリバースプロキシを設定していただきありがとうございます。その他のヘルプや役立つ情報については、 Nginxの公式ウェブサイト。


Cent OS
  1. Nginxリバースプロキシを設定する方法

  2. リバースプロキシとしてNginxを使用してCentOS7にOdoo11をインストールする方法

  3. リバースプロキシとしてNginxを使用してCentOS8にFlectraをインストールする方法

  1. Nginxを使用したリバースプロキシ:ステップバイステップのセットアップガイド

  2. リバースプロキシとしてNginxを使用してCentOS8にOdoo14をインストールする方法

  3. リバースプロキシとしてNginxを使用してUbuntu20.04にFlectraをインストールする方法

  1. Ubuntu20.04でリバースプロキシとしてNginxを設定する方法

  2. リバースプロキシとしてNginxを使用してCentOS7にOdoo10をインストールする方法

  3. リバースプロキシとしてNginxを使用してUbuntu18.04にOdoo12をインストールする方法