ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • NAS와 도메인 설정
    Python/초간단 장고 Django 2024. 1. 16. 14:09
    반응형

    작은 업체의 홈페이지를 새로 작업하게 되었는데... 
    이전 홈페이지는 킴스큐라는 CMS를 이용한 PHP 기반이었고
    호스팅 업체를 이용해서 고정 아이피.

    완전히 갈아 엎게 되어 굳이 PHP를 쓸 이유가 없어서
    장고를 이용해서 새로운 홈페이지를 만들게 되었고... 
    이번에는 자체 보유 나스를 사용하라는데...
    그 나스는 유동 IP에 물려있었다. ㅎㅎ 난감...
    물론 나스에서 제공하는 DDNS서비스는 사용할 수 있었고...
    여기에 기존 도메인을 물려야 하는 상황... 

    유동 아이피에 상용 서버 운용은 처음이라...
    덕분에 평소에 관심이 없었던 DNS 세팅, NGINX 세팅까지 공부하게 되었다.

    고려할 점.. 

    1. 기존 홈페이와 주소 체계가 달라서
    즐겨찾기, 검색 등으로 접근하는 기존 유저들은 404 페이지를 만나게 된다. 
    유저 경험 측면에서 상당히 좋지 않기 때문에,
    이런 접속들을 새 홈피의 index 페이지로 보내야 한다. 
    (404페이지의 리다이렉트는 장고를 이용해서 처리할 수 있다.)

    => 유동 포워딩을 쓸 수가 없다.
    유동 포워딩 방식은 aaa.com/zxcvzxv 같은 주소를 처리하지 못하기 때문이다. 

    2. 유저들의 접속 가능 경로는 크게 4가지 이다. 

    http://aaa.com
    http://www.aaa.com
    https://aaa.com
    https://www.aaa.com

    aaa.com은 A레코드로만 설정 가능.
    즉 숫자로 된 호스트 ip 주소만 설정할 수 있는데...
    문제는 유동 아이피...
    아이피가 바뀌는 일은 거의 없지만...
    바뀔 수 있다는 것...

    그래서 이걸 메인으로 쓰기는 애매하다. 

    www.aaa.com은 CNAME으로 설정할 수 있는데
    여기에는 텍스트로 된 DDNS 주소를 넣을 수 있다.
    따라서 항상 고정되는 주소로 만들 수 있다. 

    https://www.aaa.com 을 메인으로 할 수 밖에 없다는 결론... 

    평소에 이걸 메인으로 설정해 두면
    aaa.com 이 잠시 죽어있더라도
    검색, 즐겨찾기 어느 것으로든 접근에 문제가 없다. 

    나스에서는 유동 포워딩, CNAME 둘의 장단점을 파악하고 사용하라...... 
    완벽한 건 없다. 완벽한 건 고정 IP

    server {
            listen 80;
            server_name aaa.com www.aaa.com;
            rewrite        ^ https://www.aaa.com$request_uri? permanent;
    }
    
    server {
            listen 443 ssl;
            server_name aaa.com;
    
            ssl_certificate /etc/letsencrypt/live/aaa.com/fullchain.pem;
            ssl_certificate_key /etc/letsencrypt/live/aaa.com/privkey.pem;
            include /etc/letsencrypt/options-ssl-nginx.conf;
    
            rewrite        ^ https://www.aaa.com$request_uri? permanent;
    }
    
    server {
            listen 443 ssl;
            server_name www.aaa.com;
    
            ssl_certificate /etc/letsencrypt/live/www.aaa.com/fullchain.pem;
            ssl_certificate_key /etc/letsencrypt/live/www.aaa.com/privkey.pem;
            include /etc/letsencrypt/options-ssl-nginx.conf;
    
            location = /favicon.ico { access_log off; log_not_found off; }
    
            location /static {
                    alias /home/my_id/homepage/static;
            }
    
            location / {
                    include proxy_params;
                    proxy_pass http://unix:/tmp/gunicorn.sock;
            }
    }

    본인도 nginx 설정을 잘 모르니 참고만...

    반응형
Designed by Tistory.