Extra Form
PHP PHP 8.0
CMS Rhymix 2.x

정말 서버 관리는 초보에겐 너무 어렵네요. 하나 해결하면 또 하나...산 너머 산입니다. ㅜ

 

순서대로 문제가 생긴 내용을 말해보면

 

1. 무심히 주소창에 www.를 붙이고 사이트를 열어보니 열리지 않는 겁니다.

    계속 몇 번을 www. 를 붙여 접속 시도해 봤지만 접속이 안되더군요.

2. www. 를 빼고 접속해보니 접속이 되네요? 

   붙이면 접속 불가, 빼면 접속 OK.

3. 라이믹스 관리자 화면에서 기본 URL 란에 보니 www. 가 없이 도메인 주소가 적혀있더군요

   이거 때문인가? 해서 www. 를 적어주고 저장을 시키는 순간 화면이 하얗게 되고 접속 불능이 되어버렸습니다.

4. 이때부터는 www. 를 붙여도, 빼도, 어느 쪽으로도 아예 접속이 안됩니다.

5. PuTTy로 접속해서 루트로 라이믹스 디렉터리로 이동해 files - config - config.php 파일을 열고

'url' => array(
        'default' => 'https://www.aaaaaaaa.kr/',
        'unregistered_domain_action' => 'redirect_301',
        'http_port' => NULL,
        'https_port' => NULL,
        'ssl' => 'always',
        'rewrite' => 1,

------------------ 위 처럼 도메인주소에 www. 가 붙어있길래 이걸 지워서 https://aaaaaaa.kr 로 저장시켰습니다.

이렇게 하면 원복시킨거니까  예전처럼 일단 www. 없이라도 잘 접속이 될까 싶었죠.

근데... 반응이 없습니다.  별짓을 해봐도 접속 불능입니다.

SEO 설정같은 건 아직 하지도 않은 상태입니다 사이트 구축을 하고 있던 중이라서요.

황당하네요, 단지 관리자 페이지에 있던 도메인 주소에 www. 를 붙였다고 이렇게 접속 불능이 돼 버리고, 그걸 다시 원래대로 www. 를 지우고 config.php 파일을 수정줬는데도 접속불능이 계속되니, 도대체 뭔 경운가 싶네요.

혹시나 해서 도메인/pma 이런 식으로 phpMyAdmin 에 접근해봤는데, 여기도 접속 불능입니다.

 

접속불능 오류 메시지는 - DNS_PROBE_FINISHED_NXDOMAIN

 

- 도대체 어디를 어떻게 수정해봐야 할까요?

- 그리고 애초 이 문제의 시발점이었던 www. 를 붙이고도 잘 접속이 되게 하려면 어찌 해야 할까요?

 

 

 

 

  • Lv36

    1. config.php 수정은 무의미합니다.

     

    접속할 수 없는 도메인으로 설정을 변경해 버린 경우 복구하는 방법은 아래 링크의 매뉴얼을 참고하세요.

    https://rhymix.org/manual/introduction/domain-change

     

    2. NXDOMAIN은 (서브)도메인이 존재하지 않는다는 뜻입니다.

     

    www.aaaaaa.kr이라는 서브도메인이 아예 존재하지 않거나, 존재하더라도 이것을 인식하도록 서버가 설정되어 있지 않을 가능성이 있습니다. 도메인을 구입한다고 www가 자동으로 생기는 것이 아니라 누군가가 www라는 서브도메인을 만들어 줘야 하는 것인데, 대부분의 웹호스팅 업체들은 알아서 만들어 주지만 서버를 직접 운영하신다면 아무도 이 부분을 챙기지 않았을 거예요.

     

    아무튼 www 서브도메인에 이상이 있는 상태에서 억지로 라이믹스 설정을 변경하여 www를 사용하라고 요구한 것이 문제의 원인입니다. 라이믹스는 그냥 시키는 대로 하거든요. 길이 없는 곳으로 가라고 시키면 그쪽으로 가다가 옴짝달싹 못하게 되어 버립니다... 따라서 일단 1번의 방법대로 라이믹스 설정을 원래대로 (www가 없는 도메인으로) 돌려놓는 것이 급선무입니다. 그 후에 도메인 및 서버 문제를 점검하여 www 주소로 접속이 되는 상태를 만들어 놓으시고, 확실하게 접속이 된다면 그 후에 다시 라이믹스 설정을 손보셔도 됩니다.

  • Lv36 ?

    답변 고맙습니다.
    겨우 접속은 살려놨습니다.
    그런데 www.도메인을 리다이렉트 시키는건 안되는군요.
    NginX의 sites-available/default에 리다이렉트 시키는 구문을 추가해줘봤는데 반응이 없습니다.
    그것말고는 딱히 다른 해결법은 검색해봐도 보이지 않던데, 난감하네요.

  • ? Lv36
    어떤 구문을 추가하셨는지 모르겠지만

    1. (서브)도메인 하나를 통째로 다른 도메인으로 리다이렉트시키려면 server { } 블록을 별도로 추가하여 리다이렉트 설정을 넣는 것이 정석입니다. 원래 있던 블록 내에서 if나 location으로 처리하는 것은 안정적이지 않습니다.

    2. SSL을 사용하시는 경우 server { } 블록이 한두 개 더 필요할 수도 있습니다.
  • Lv36 ?

    혹시 제 default 내용을 좀 봐주실 수 있는지요.
    아래가 # 주석부분은 제외하고 난 구성 내용입니다.
    도메인은 편의상 abcde.kr 로 하겠습니다.
    그리고 Let’s Encrypt SSL 설정한 상태입니다.
    --------------------------------------------------------------------


    server {

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html phpinfo.php;
    client_max_body_size 32m; # 업로드 허용 용량

    server_name abcde.kr;
    location / {
    # First attempt to serve request as file, then
    # as directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
    if (!-e $request_filename) {
    rewrite ^.*$ /index.php last;
    }
    }

    location /pma {
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
    }

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_read_timeout 300;
    include snippets/fastcgi-php.conf;
    }


    location ~ /\.ht {
    deny all;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/abcde.kr/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/abcde.kr/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    }

    ### HTTP (A-type connection) ###
    server {
    listen 80;
    listen [::]:80;
    server_name www.abcde.kr;

    location / {
    return 301 http://abcde.kr$request_uri; ### redirect to abcde.kr
    }
    location /pma {
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
    }
    }


    server {
    if ($host = abcde.kr) {
    return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80 default_server;
    listen [::]:80 default_server;

    server_name abcde.kr;
    return 404; # managed by Certbot

    }

    -------------------------------------------------------------------------------------

     

    그리고 이건 혹시나 해서 오라클클라우드의 제 계정 DNS 레코드 설정 상태입니다.
    도메인에  www.붙은 것도 등록을 해줘야 하는 거 아닌가 싶은 생각에....
    다른 분들 설정 메뉴얼 따라 한건데...딱히 www.도메인을 하나 더 넣으라는 말은 없더라구요.

    dns.png.jpg

  • ? Lv36

    설정은 대략 괜찮아 보입니다. 네, DNS에서 www에 대한 A레코드를 abcde.kr과 동일한 IP로 등록해 주셔야 합니다. 존재하지 않는 서브도메인에 대해서 아무리 설정을 해봤자 작동하지 않는 것이 당연하니까요.

  • Lv36 ?
    아이고...제 추측이 맞았군요.ㅜㅠ
    무료 사용자라...이제 한달 기간이 다 끝나가지고, DNS 레코드 부분 수정할렸더니, 유료로 업그레이드 해야 한다더군요.
    유료라 해도, 예를 들어 얼마치 금액을 구매해서 그 금액 안에서 유료부분을 설정할 수 있으면 당장 하겠는데, 어떤 유료 정책인지 몰라서 손을 못대겠네요. 혹시라도 유료가입하면 계속 정기적으로 유료결제 되는 게 아닌지 싶어서요. 그 부분은 혹시 모르시죠?
  • ? Lv36

    유료가입하시면 사용하신 만큼 정기적으로 결제되고, 한국 담당자가 마케팅 전화 열심히 합니다. ㅋㅋㅋ

     

    오라클에서 제공하는 DNS를 사용하지 말고, 클플이나 DNSZi 같은 무료 네임서버를 사용하시면 됩니다. 호스팅 업체의 네임서버를 사용해야 한다는 법은 없거든요. 웹호스팅 업체들이 편의상 만들어 놓은 관례일 뿐...

  • Lv36 ?
    아하...계속 정기적으로 결제되는군요.
    그럼 알려주신 대로 무료네임서버로 돌려야겠습니다.
    정말 일일히 답변 신경써주셔서 고맙습니다.
    뭔가 핵심을 잡아서 답을 주시니, 거기에서 힌트가 되어 하나씩 해결할 수 있어서 큰 도움이 되었습니다. ^^
  • ? Lv36
    네, 네임서버를 변경하셔도 다음날에야 적용되는 경우가 많으니 느긋하게 하시기 바랍니다.^^