Como criar redirecionamento 301 para um novo domínio

Estou editando o nginx.conf. Quero redirecionar todas as páginas do domínio1.com para o domínio2.com.

Como editar o arquivo para que funcione.

Vejo uma linha:

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

Se eu mudar para ‘=’ na instrução if e redirecionar para o novo domínio, isso funcionará ou preciso garantir que outras coisas sejam alteradas?

Exemplo:

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

Em geral, eu configuro assim:

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

A diretiva acima pode ser ajustada de várias formas para melhor atender às suas necessidades.

Obrigado, tenho algumas perguntas.

Tenho as seguintes linhas no arquivo de configuração:

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

Não sei por que o 301 está lá por padrão. Devo substituí-lo ou criar um novo acima ou abaixo dele (o que você forneceu)? O server_name é necessário?

Isso vai quebrar o processo de renovação do LetsEncrypt se eu redirecionar tudo?

Você está editando o nginx.conf dentro do container do Discourse ou em um proxy reverso nginx externo?

Se for interno, você deve fazer isso no arquivo app.yml. Existem vários exemplos de como fazer isso.

Se você estiver fazendo isso em um proxy reverso nginx externo, pode criar um novo arquivo, digamos redirect.conf, na pasta /etc/nginx/conf.d com o exemplo de configuração que forneci.

dentro do container. Vou buscar soluções para o app.yml. Vi uma para pasta, espero encontrar uma para alteração de domínio. Obrigado.

Você já tentou isso?

Sim, implementarei em breve. Muito obrigado pelo seu tempo.

@itsbhanusharma Estou implementando o código agora. Minha dúvida é se o Let’s Encrypt se renovará automaticamente, já que pretendo manter o servidor antigo por algum tempo até que os URLs sejam alterados pelo Google. Há algo que eu precise adicionar para que a renovação do Let’s Encrypt não falhe devido a essa mudança de redirecionamento 301?

Isso pode funcionar? Set up Let’s Encrypt with multiple domains / redirects

Quero excluir o .well-known/acme-challenge do redirecionamento,

problema com redirecionamento 301 e Let’s Encrypt