Comment créer une redirection 301 vers un nouveau domaine

Je modifie le fichier nginx.conf. Je souhaite rediriger toutes les pages de domain1.com vers domain2.com.

Comment modifier le fichier pour que cela fonctionne ?

Je vois une ligne :

if($http_host != domain1.com){
   rewrite (.*) https://domain1.com$1 permanent;
}

Si je remplace « != » par « = » dans la condition if et que je modifie la réécriture pour indiquer le nouveau domaine, cela fonctionnera-t-il, ou dois-je également modifier d’autres éléments ?

Exemple :

if($http_host = domain1.com){
   rewrite (.*) https://domain2.com$1 permanent;
}

En général, je le configure comme suit :

server {
    listen 80;
    server_name domain1.com;
    return 301 https://domain2.com$request_uri;
}

La directive ci-dessus peut être modifiée de nombreuses manières pour mieux répondre à vos besoins.

Merci, j’ai quelques questions.

J’ai les lignes suivantes dans le fichier de configuration :

server {
   listen 80
    return 301 https://domain1.com$request_uri
}

Je ne sais pas pourquoi le code 301 est présent par défaut. Dois-je le remplacer ou en créer un nouveau au-dessus ou en dessous (comme vous l’avez fourni) ? La directive server_name est-elle nécessaire ?

Cela va-t-il perturber le processus de renouvellement de Let’s Encrypt si je redirige tout ?

Éditez-vous le fichier nginx.conf à l’intérieur du conteneur Discourse ou s’agit-il d’un proxy inverse nginx externe ?

S’il s’agit d’une configuration interne, vous devez plutôt la modifier dans le fichier app.yml. De nombreux exemples expliquent comment procéder.

Si vous configurez un proxy inverse nginx externe, vous pouvez créer un nouveau fichier, par exemple redirect.conf, dans le dossier /etc/nginx/conf.d avec l’exemple de configuration que j’ai fourni.

à l’intérieur du conteneur. Je vais chercher des solutions pour app.yml. J’en ai vu une pour un dossier, j’espère en trouver une pour un changement de domaine. Merci.

Avez-vous essayé ceci ?

Oui, nous allons le mettre en œuvre sous peu. Merci beaucoup pour votre temps.

@itsbhanusharma Je suis en train d’implémenter le code. Ma question est de savoir si Let’s Encrypt se renouvellera automatiquement, car je prévois de laisser l’ancien serveur en place pendant un certain temps jusqu’à ce que Google mette à jour les URL. Y a-t-il quelque chose que je dois ajouter pour éviter que le renouvellement de Let’s Encrypt n’échoue à cause de ce changement de redirection 301 ?

Cela peut-il fonctionner : Set up Let’s Encrypt with multiple domains / redirects

Je souhaite exclure .well-known/acme-challenge de la redirection,

problème avec une redirection 301 et Let’s Encrypt