Duckduckgoを何時間も使用した後、これが私が到達した最良の答えであり、現在のHTTPSドメインを新しいHTTPSドメインにリダイレクトすることはまだ機能していません。
server {
listen 80;
listen 443 ssl;
server_name www.olddomain.com olddomain.com;
rewrite 301 https://newdomain.com$request_uri;
}
ブラウザで安全でない接続エラーが発生します。
私も次のようなことを試しました
server {
listen 443 ssl;
server_name olddomain.com;
ssl on;
ssl_certificate /etc/ssl/certs/OLD.crt;
ssl_certificate_key /etc/ssl/private/OLD.key;
#enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ALLLLLLTTHHISSSS";
ssl_prefer_server_ciphers on;
rewrite 301 https://newdomain.com$request_uri;
}
このオプションはエラーの発生を停止しますが、書き換えは機能せず、「Welcome toNGINXPage」に移動します。
Httpsリクエストを古いドメイン名から新しいドメイン名にリダイレクトする場合は、そのNginxサーバーブロック内に構成された古いWebサイトの証明書が必要になります。
https://example.com および https://www.example.com に対応する必要があります
これは、ジョブを実行する必要がある基本的な構成です。私見では、転送を行うだけのサーバーのSSLバージョンについて心配する必要はなく、デフォルトを使用するだけです。
server {
server_name www.example.com;
listen 443 ssl;
ssl_certificate /var/lib/acme/certs/***CERT_DIRECTORY/fullchain;
ssl_certificate_key /var/lib/acme/certs/***CERT_DIRECTORY/privkey;
return 301 https://www.example2.com$request_uri;
}
ドメイン全体をリダイレクトする必要がある場合、通常はドメイン名レジストラレベルでドメインを転送します。 GoDaddyを使用している場合は、 ドメインを転送する方法 です。ほとんどのレジストラでは、これを行うことができます。
レジストラレベルで転送を設定する利点:
サーバーレベルの転送の欠点:
時々最も簡単な答えが最善です...これを初めて考えるのに少し時間がかかりました:)
新しいドメインでhttpからhttpsへの301リダイレクトがある場合は、古いドメインから新しいドメインのhttpバージョンにリダイレクトすることで、証明書の問題を回避できます。例えば:
古いドメイン
server {
server_name old-domain.com www.old-domain.com;
return 301 http://new-domain.com/$request_uri;
}
新しいドメインで
server {
listen 80
server_name new-domain.com www.new-domain.com;
return 301 https://new-domain.com/$request_uri;
}