도메인.com 접속 시 하위폴더(그누보드)로 리다이렉트 301 이동 방법

도메인.com 접속 시 하위폴더(그누보드)로 리다이렉트 301 이동 방법

QA

도메인.com 접속 시 하위폴더(그누보드)로 리다이렉트 301 이동 방법

답변 5

본문

안녕하세요 이것저것 검색해서 적용해봤는데 감이 안잡혀서 이렇게 질문 드리게 되었습니다.

시놀로지를 이용해 웹서버 만들어서 그누보드리빌더를 설치하였습니다.

 

질문내용은..

ㅁ 도메인.com >> 접속 시 >> 그누보드(rebuilder) 폴더로 접속 하고 싶습니다.

ㅁ 도메인.com > 그누보드(rebuilder) 폴도로 자동으로 리다이렉트하기를 원하는데..

 

현재 폴도 구성은 아래와 같습니다.

3067774780_1730371996.7464.png

 

 

일단 제가 해본것은 web 폴더에 .htaccess 파일을 만들어서

아래처럼 코드를 넣었는데 반응이 없어서, 어떠한 방식으로 해야하는지 질문 드려봅니다.~

 

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

RewriteEngine On
RewriteBase /


RewriteCond %{HTTP_HOST} ^도메인\.com [NC]
RewriteRule ^$ /rebuilder/ [L]
RewriteCond %{HTTP_HOST} ^도메인\.com [NC]
RewriteCond %{REQUEST_URI} !^/rebuilder/
RewriteRule ^(.*)$ /rebuilder/$1 [L]

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

이 질문에 댓글 쓰기 :

답변 5

※ DSM에  login. ~

- web station 선택 ~

- '웹 서비스 ' 탭 선택 ~

- '가본 서비스' 체크 후, '편집''을 꾹 누르면, 팝업 창이 뜸 ~

  > '기본 서비스 편집' 창에서 ~

    -  'HTTP 백엔드 서버:"  풀다운 탭을 눌러,  사용 할 서버 선택 ~ ex, "nginx" 선택

    - 'PHP:'  풀다운 탭을 눌러, 사용 할 스크립트 선택 :  ex, "Default Profile(PHP 8.2)" 선택

        - PHP 8.2는 '패키지 선터'에서 설치 하셔야, 스크롤 탭에 나타남.

 

> > > "저장" ~ ~ ~ 끝 .

 

■ 중요한 체크 포인트가 있습니다.

 

  - 웹 개발 트렌드가 정적 HTML만으로는 부족하기에,

   

    > 아마 index.php "인덱싱"이 않되여 있어서 그럴 수도 있으니,

 

      > web/에 .htaccess 파일을 만드시거나,

 

        ++ > 그것 귀찮으시면 index.html을 "index.php,"로 개명을 시키세요. ㅋ ㅋ

 

아 넵 답변 감사드립니다.

현재 시놀로지에 설치는 완료하였습니다. 다만

접속 방법이 도메인.com/rebuilder

이렇게 해야 메인에 접속 할 수 있어서요.

 

이걸 301 디이렉트로

도메인.com 입력하면 > 도메인.com/rebuilder

로 접속할수 있게 하고 싶어서요

아 넵 답변 감사드립니다.

현재 시놀로지에 설치는 완료하였습니다. 다만

접속 방법이 도메인.com/rebuilder

이렇게 해야 메인에 접속 할 수 있어서요.

 

이걸 301 디이렉트로 

도메인.com 입력하면 > 도메인.com/rebuilder

로 접속할수 있게 하고 싶어서요

* /index.html


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="refresh" content="0; url=/rebuilder">
    <title>Redirecting...</title>
</head>
<body>
    <script>
        window.location.href = "/rebuilder";
    </script>
</body>
</html>

DSM에서 리버스 프록시 설정 시 ;

proxy를 사용한 /rebuilder/, 이와 같은 sub-경로로 직접 리디렉션하는 것은 허용되지 않음.

 

※ 그리고 첩부하신 redirect-config는  .htaccess 파일 같습니다?
  >>>  nginx server에서는 .htaccess 파일은 지원하지 않음.

 

※ DNS에서 해결책 ;

  >>> /rebuilder/, sub-경로를 서브 도메인(rebuilder.도메인.com)을 사용하여 웹서비스를 만들고

  이 도메인(rebuilder.도메인.com)을 리버스 proxy로 reditect시킴.

 

※ '첨부된 이미지'를 보니, (DS923)/web,, 이 폴더를 사용 하시는 군요?

  >>> '도메인.com',이 DS923의 기본 DNS군요 !

        > nginc-config를 다루실 수 있더라도

           이 NAS에 기본으로 연결된 server-name(DNS)의 config를 바꾸기는 쉽지 않음. -

          - 바꾸어도 휘발성 저장이여서, nginx를 재시작하면 초기화됨 - 시놀로지 firmware 설정인 듯~

 

※ DNS을 사용 하지 않는 해결책 ;

  >>> DS923의 DSM에서 도메인(도메인.com)을 사용 하지 않음, - "웹스테이션 설정"에서 제거.

  >>> 터미널(SSH 등)이나 FileZilla(ftp, sftp) 등으로 server에 접속 ,

         /usr/local/etc/nginx/sites-enabled, 이 폴더에

        도메인(도메인.com)의 서벼구성 파일(도메인_com.conf)을 아래와 깉이 만들어 추가.


server {
    listen 80;
    server_name 도메인.com www.도메인.com;
    location = / {
        return 301 /rebuilder/;
    }
    location /rebuilder/ {
        proxy_pass http://localhost:8080/; 
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

 

SSL 인증서 사용시


server {
    listen 80;
    server_name 도메인.com www.도메인.com;
 
    location / {
        return 301 https://$host$request_uri;
    }
}
 
server {
    listen 443 ssl;
    server_name 도메인.com www.도메인.com;
 
    ssl_certificate /etc/nginx/ssl/도메인.com.crt;
    ssl_certificate_key /etc/nginx/ssl/도메인.com.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
 
    location = / {
        return 301 /rebuilder/;
    }
 
    location /rebuilder/ {
        proxy_pass http://localhost:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

 

♣ 설정을 마친 후, - DS923의 nginx 재시작 명령는 특정 되여 있음

   ex) nginx -s reload, 이런 명령어는 재시작 않됨 ~

  ★ DS923, config_error_check와 nginx 재시작


nginx -t
systemctl restart nginx
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,327
© SIRSOFT
현재 페이지 제일 처음으로