새 도메인으로 301 리다이렉트 생성하는 방법

nginx.conf 파일을 편집 중입니다. domain1.com의 모든 페이지를 domain2.com으로 리다이렉트하고 싶습니다.

작동하도록 파일을 어떻게 편집해야 하는지 궁금합니다.

다음과 같은 줄을 확인했습니다:

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

if 문에서 '='로 변경하고 rewrite를 새 도메인으로 바꾸면 작동할까요, 아니면 다른 부분도 변경해야 할까요?

예시:

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

일반적으로 다음과 같이 설정합니다:

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

위 지시문은 필요에 따라 다양한 방식으로 수정할 수 있습니다.

감사합니다. 몇 가지 질문이 있습니다.

설정 파일에 다음 줄들이 있습니다:

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

301이 기본적으로 있는 이유가 무엇인지 모르겠습니다. 이 값을 덮어써야 하는지, 아니면 그 위나 아래에(제가 제공한 내용처럼) 새 항목을 만들어야 하는지 궁금합니다. server_name은 필수인가요?

모든 요청을 리디렉션하면 LetsEncrypt 갱신 프로세스가 깨질까요?

discourse 컨테이너 내부의 nginx.conf를 편집 중이신가요, 아니면 외부 nginx 리버스 프록시를 편집 중이신가요?

내부인 경우, 대신 app.yml 파일에서 설정해야 합니다. 이를 수행하는 방법에 대한 여러 예제가 있습니다.

외부 nginx 리버스 프록시에서 작업 중이라면, 제가 제공한 설정 예시를 사용하여 /etc/nginx/conf.d 폴더에 redirect.conf와 같은 새 파일을 생성할 수 있습니다.

컨테이너 내부입니다. app.yml 솔루션을 찾아보겠습니다. 폴더에 대한 솔루션은 확인했는데, 도메인 변경에 대한 것을 찾을 수 있기를 바랍니다. 감사합니다.

이 방법을 시도해 보셨나요?

네, 곧 구현하겠습니다. 시간 내어 주셔서 정말 감사합니다.

@itsbhanusharma 지금 코드를 구현하고 있습니다. 제 질문은 Google에서 URL이 변경될 때까지 기존 서버를 잠시 유지할 계획인데, LetsEncrypt가 자동으로 갱신되는지 하는 것입니다. 이 301 리다이렉트 변경으로 인해 LetsEncrypt 갱신이 실패하지 않도록 추가해야 할 것이 있을까요?

이것이 작동할 수 있을까요? Set up Let’s Encrypt with multiple domains / redirects

301 리다이렉트에서 .well-known/acme-challenge를 제외하고 싶습니다.

issue 301 리다이렉트와 LetsEncrypt 관련 문제