컴퓨터 / Computer

어떻게 접속해도 원하는 도메인으로 이동 시키기

0_fivEmSUN_cafc0046fceae53820e6e11ed19a3a0d3034ec3c.jpg 



서비스를 하다보면 도메인 여러개를 쓸 때가 있다. https 가 없던 시절에는 아무 도메인으로 접속해도 보안문제라든가 여러 문제가 없었는데, https 설정 문제와 아울러 "브랜드" 문제 그리고 "외부 노출 채널" 문제가 있어서 희망하는 도메인으로 계속 접속을 시켜야 한다. 그래서 무슨 도메인으로 접속을 해도 내가 원하는 도메인으로 접속할 수 있는 방법을 알아 보자. 


http://7-star.net 으로 접속했을때 https://www.7-star.net 으로



1. httpd 이전 단계 

이 단계는 웹 캐시 프로그램으로 접속 위치를 바꿀 수 있다. 아래 항목이 예제이다. 


 


sub vcl_recv {

    # Happens before we check if we have this in cache already.

    #

    # Typically you clean up the request here, removing cookies you don't need,

    # rewriting the request, etc.

    if (client.ip != "127.0.0.1" && req.http.X-Forwarded-Proto !~ "https" && (

        req.http.host ~ "도메인1" ||

        req.http.host ~ "도메인2" ||

        req.http.host ~ "도메인3"

    )) {

        set req.http.x-redir = "https://" + req.http.host + req.url;

        return (synth(850, ""));

    }

    # https://stackoverflow.com/questions/63039697/varnish-conflicts-with-lets-encrypt-certificate-renewal

    if (req.url ~ "^/\.well-known/acme-challenge/") {

        set req.backend_hint = certbot;

        return (pipe);

    }

}






2. httpd 에서 이동 


이 경우는 httpd.conf 의 virtualhost  설정을 통해서 바꿀 수 있다. 



<VirtualHost ip:8080>

      ServerName 도메인1

ServerAlias 도메인2 도메인3

Redirect / 이동하려는도메인/

</VirtualHost> 



위에서 보면 ip 옆에 8080 포트가 있는데 이 경우는 1에서 varnish를 통해 넘어온 경우이다. 만약 varnish 없이 하겠다면 80 포트만 해야 한다. 


그리고 위와 같이 쓰면 https 의 경우 적용이 안된다. 그래서 아래 경우도 하나 더 넣어준다. 



 <VirtualHost ip:443>

      ServerName 도메인1

ServerAlias 도메인2 도메인3

Redirect / 이동하려는도메인/

</VirtualHost> 



이때 "이동하려는도메인" 뒤에는 "/"를 붙여주는 것이 좋다.


httpd.conf 에 추가를 했으면 재시작을 한다. 



3. 웹 사이트 내에서 변경하기 


이건 제일 간단하다. 1과 2 설정을 하지 않고 80 혹은 443 포트만 열려 있는 경우라면 웹 페이지 소스에서 홈 버튼이나 로고에 아래와 같이 링크를 단다. 


 

<a href=이동하려는도메인>Home (내지는 로고파일)</a>




이 외에 방법이 있으면 제보 바람. 

Comments

3M 코맨드 와이어 훅 중형 17068 3개입
바이플러스
3M 프리미엄 스티커크리너 PIC10
바이플러스
3M 810 매직테이프 50mm x 65M
바이플러스
OPP 투명접착 8X20+4cm 200장
칠성상회