[ 서버 ] 작업24, 도메인에서 www 지우기, nginx url rewrite

JooKit 주킷 2020. 9. 20. 03:44
목차 접기
728x90
반응형

※ [ 서버 ] 작업24, 도메인에서 www 지우기, nginx url rewrite

 

tistory.com과 www.tistory.com은 엄연히 다른 것이다.

 

- www를 붙이면 안되는 주소인데 무의식중에 사람들이 www를 붙이는 경우가 종종있다.

- www를 붙이면 안되는 주소에 www를 입력받았을 때, 접속하려고 했던 url로 연결해주는 작업을 

    nginx url rewrite 라고 한다.

 

 

 

 

 

 

1. nginx 설정 파일로 이동

    - sudo vim /etc/nginx/conf.d/vhost.conf 명령어 입력

 

 

 

 

 

 

2. 설정 변경

    - 아래 코드 추가 

 

server {
	server_name www.서비스명.도메인(***.***);
    
    rewrite ^/(.*)$ https://서비스명.도메인(***.***)/$1 permanent;
}

    - :wq!  명령어 입력

 

 

 

 

 

 

 

 

3. nginx 재시작

    - sudo systemctl restart nginx 명령어 입력

    - nginx 설정을 변경해주었을 때에는 필히 nginx를 재시작해야 웨브라우저 오류가 없다.

    - 혹시 sudo systemctl restart nginx 명령어를 입력했는데, 실패하는 경우에는 

        - 직전에 수정해준 설정에 오타가 없는지 확인해본다.

            - restart nginx를 했더니 오류가 발생해서 직전 작업을 지워주고 다시 재시작을 했더니 오류가 발생하지 않음

                - 그래서 혹시 오타가 있나하고 봤더니 나의 실수로 오타 발생. .. . . .... ... 

 

 

 

 

 

 

 

 

www.tistory.com  이라고 입력하면 http:// 이다.

- 3번까지의 작업에서는 www.서비스명.도메인이라고 입력하면 

     https://서비스명.도메인 으로 안내를 잘 해준다.

- 그러나 https://www.서비스명.도메인으로 접속하면 접속되지 않는다.

 

 

 

 

 

 

 

 

 

4. certbot 설치

    - sudo certbot --nginx 명령어 입력

        - 기존에 설치한거 외로 sudo vim /etc/nginx/conf.d/vhost.conf 에 추가한 url 번호를 선택해준다.

            - 한꺼번에 여러개 선택 가능.

 

 

 

 

5. 설치 종료

 

 

 

6. https://www.서비스명.도메인 접속

    - sudo systemctl restart nginx  nginx 재시작 명령어를 입력하지 않아도 접속이 잘 된다.

    - 접속 성공 

        - https://서비스명.도메인으로 연결을 잘 해준다.

 

 

 

 

 

 

 

※ 연결 과정 

 

1번  http://www.tistory.com 

2번  https://www.tistory.com 

3번  https://tistory.com 

위의 순서대로 연결이 되는 것. 

 

 

 

1번. 

if 만약에 $host = www.서비스명.도메인으로 들어온다면 

return 301(redirect, rewrite 의미) https://$host 그대로 return 하겠다.

    - 바뀐 것 

        - 아무것도 입력하지 않으면 http://기본 

        - http:// 가 https://로 변경

 

 

 

 

 

 

 

2번.

여기에서 https://www.서비스명.도메인https://서비스명.도메인으로 연결되는 듯....

 

 

 

끝.

 

 

 

 

 

 

728x90
반응형
LIST