web-dev-qa-db-ja.com

NGINXHTTPSドメインを新しいHTTPSドメインにリダイレクトします

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」に移動します。

1
Case

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;          
}    
3
Tim

ドメイン全体をリダイレクトする必要がある場合、通常はドメイン名レジストラレベルでドメインを転送します。 GoDaddyを使用している場合は、 ドメインを転送する方法 です。ほとんどのレジストラでは、これを行うことができます。

レジストラレベルで転送を設定する利点:

  • サーバー上で物事を正しく行うことを心配する必要はありません
  • 新しいサーバーに移動した場合、誤ってApache(または他のWebサーバー)リダイレクトを設定することを忘れることはありません。

サーバーレベルの転送の欠点:

  • たとえばポート80を転送しているが、443は転送していない場合は、制御が弱くなります。

時々最も簡単な答えが最善です...これを初めて考えるのに少し時間がかかりました:)

1
god_is_love

新しいドメインで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;
}
0
moogsurf