ウェブサイトの所有者がアドレスを別のアドレスに再ルーティングする必要がある場合は常にリダイレクトを使用します。通常、HTTPをHTTPSにリダイレクトするか、あるドメインを別のドメインにリダイレクトします。
HTTPからHTTPSへのシナリオ:
http://yourwebsite.com
と入力しても、顧客が安全な(SSL)サイトにアクセスできるようにします。 またはyourwebsite.com
彼らのブラウザに。このタイプのリダイレクトはまさにそれを実現します。たとえば、顧客がhttp://yourwebsite.com
と入力した場合 、Nginx®のリダイレクトは、リクエストを https://yourwebsite.comにリダイレクトします 。
あるドメインから別のシナリオへ:
あなたはyourwebsite.comを所有しています 、 yourwebsite.org 、および yourwebsite.net 、そしてあなたはあなたの顧客が yourwebsite.comに到着することを望んでいます 彼らがあなたのサイトを訪問するために彼らのブラウザに入力するURLに関係なく。
Nginxでリダイレクトする方法
次のセクションでは、HTTPからHTTPSに、および1つのドメインから別のドメインにリダイレクトする方法について説明します。
HTTPからHTTPS
サーバーにSSL証明書をインストールすると、Webサイト用に2つのサーバーブロックがあります。1つはHTTPとHTTPS用です。問題は、SSLで保護されたサイト(HTTPSバージョン)へのトラフィックを強制する方法が必要なことです。これは、WebサイトのNginxサーバーブロックへのリダイレクトを追加することで実現できます。
ドメインの構成ファイルを開きます。ファイルには、 /etc/nginx/vhost.d/yourwebsite.com.confのような名前を付ける必要があります 。 .conf ドメインの構成ファイルを示します。お気に入りのテキストエディタでファイルを開きます。次の例では、vim
を使用しています。 編集者:
vim /etc/nginx/vhost.d/yourdomain.com.conf
Your server block will look similar to this:
server {
listen 80;
server_name yourwebsite.com www.yourwebsite.com;
}
特定の構成によっては、これには前の例よりも多くの情報が含まれている場合がありますが、これはリダイレクトオプションに焦点を当てた単純な例です。
ただし、顧客に yourwebsite.comのセキュリティで保護されたバージョンにアクセスしてもらいたいと考えています。 、したがって、構成ファイルのサーバーブロックへのリダイレクトを追加する必要があります。これを行うには、次の例のようにブロックを変更し、ファイルを保存します。
server {
listen 80;
server_name yourwebsite.com www.yourwebsite.com;
return 301 https://yourwebsite.com$request_uri;
}
上記のリダイレクト行を設定すると、顧客が yourwebsite.comと入力するたびに またはwww.yourwebsite.com 、システムはそれらを自動的に https://yourwebsite.comにリダイレクトします ウェブサイトのバージョン。ただし、この行をHTTP 80
に追加する必要があることに注意してください。 HTTPS 443
ではなくサーバーブロック サーバーブロック。
おそらく、 https://www.yourwebsite.comもリダイレクトする必要があります https://yourwebsite.comへのリクエスト 。これを行うには、443
に別のリダイレクト行を追加します サーバーブロック。多くの場合、80
の下にあります。 構成ファイルのserverblock。この変更は、次の例のようになります。
server {
listen 443;
server_name www.yourwebsite.com;
return 301 https://yourwebsite.com$request_uri;
}
server {
listen 443;
server_name yourwebsite.com;
}
注: サーバーブロックには、前の簡略化された例よりも多くの情報が含まれている可能性があります。
複数のトップレベルドメイン( .com など)を持つドメインがある場合 、 .net 、 .org など)、これらすべてのサイトが同じWebサイトにアクセスできるようにするには、リダイレクトを使用します。この例では、あなたが yourwebsite.comを所有していると想定しています。 、 yourwebsite.org 、および yourwebsite.net 、そしてそれらすべてを yourwebsite.comにリダイレクトしたい 。
ドメインの構成ファイルを再度編集します。 HTTPSを追加する代わりに 次の例に示すように、リダイレクトしてサーバーブロックを変更します。
server {
listen 80;
server_name yourwebsite.net;
return 301 $scheme://yourwebsite.com$request_uri;
}
server {
listen 80;
server_name yourwebsite.org;
return 301 $scheme://yourwebsite.com$request_uri;
}
これで、顧客が yourwebsite.netに入るたびに またはyourwebsite.org 、システムはそれらを yourwebsite.comにリダイレクトします 代わりに。
編集後に構成ファイルを保存して閉じ、両方のnginx
を再起動します およびphp-fpm
これらの変更を公開します。