Q&A

라이믹스 2.0 짧은 주소 사용 nginx 설정 관련 문의드립니다.

2022.01.04 02:46
50,379
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.2
문제 페이지 주소 비공개 (작성 후 5일 경과)

xe에서 라이믹스 1.8로 오늘 라이믹스 2.0 업그레이드 하였습니다.

 

짧은주소 사용을 위한 nginx 설정을 아래와 같이 진행 하고 nginx restart 입력하면 에러가 발생하는데 문제가 무엇인지 도움을 받고자 합니다.

 

1. 서버환경 

rhymix_version : 2.0.17 date : 2022-01-04 11:33:27 +0900 (2022-01-04 02:33:27 UTC)

php : 7.2.33-1+ubuntu18.04.1+deb.sury.org+1 (64-bit) server : nginx/1.19.0

 

2. 짧은 주소 사용을 위한 nginx 설정 방법 가이드   ( https://github.com/rhymix/rhymix-docs/blob/master/ko/introduction/nginx.md )

 

1) 현재 저는 /etc/nginx/sites-enabled/default  파일과 martmon이라는 파일로 설정파일이 있습니다.

 [ default 파일 주요 내용 ]

1.JPEG

 

[ martmon 설정 파일 주요 내용 ]

* xe에서 사용하던 xe-rewrite.conf 파일에 라이믹스 1.8버젼대의 rewrite 규칙이 적용된 파일입니다.

/etc/nginx/snippets/xe-rewrite.conf로 저장이 되어 있었습니다.

 

2.JPEG

 

3. 라이믹스 1.8버전대에서 사용하던  /etc/nginx/snippets/xe-rewrite.conf 파일 기존 내용을 vi 에디터에서 모두 지우고 라이믹스 2.0에서 권장하는  rewrite 규칙 ( https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx.conf ) 내용으로 변경 저장하였습니다,

 

* 파일명을 기존 사용하던 그대로 xe-rewrite.conf 로 사용하고 경로도 기존 설정파일 경로 그대로 사용 했습니다.

 

4. 라이믹스 2.0 규칙대로 변경된 내용으로 xe-rewrite.conf파일을 저장하고 nginx restart를 실행하면 아래와 같은 에러가 발생하면서 사이트 접속이 되질 않습니다.

2022-01-04 11,44,10.JPEG

 

xe-rewrite.conf 내용을 다시 원래 라이믹스 1.8대에서 사용하던 규칙으로 변경 저장하면 에러 없이 사이트가 정상 작동됩니다.

 

[ 라이믹스 1.8대에서 사용하던 xe-rewrite.conf 내용 ]

# block direct access to templates, XML schemas, config files, dotfiles, environment info, etc.
location ~ ^/modules/editor/(skins|styles)/.+\.html$ {
    # pass
}
location ~ ^/(admin/help|common/manual)/.+\.html$ {
    # pass
}
location ~ ^/(addons|common/tpl|files/ruleset|(m\.)?layouts|modules|plugins|themes|widgets|widgetstyles)/.+\.(html|xml)$ {
    return 403;
}
location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ {
    return 403;
}
location ~ ^/files/(env|member_extra_info/(new_message_flags|point))/ {
    return 403;
}
location ~ ^/(\.(git|ht|jshint)|codeception\.|composer\.|Gruntfile\.js|package\.json|CONTRIBUTING|COPYRIGHT|LICENSE|README) {
    return 403;
}

# fix incorrect relative URLs (for legacy support)
location ~ ^/(.+)/(addons|common|files|layouts|m\.layouts|modules|widgets|widgetstyles)/(.+) {
    try_files $uri $uri/ /$2/$3;
}

# fix incorrect minified URLs (for legacy support)
location ~ ^/(.+)\.min\.(css|js)$ {
    try_files $uri $uri/ /$1.$2;
}

# rss, blogAPI
rewrite ^/(rss|atom)$ /index.php?module=rss&act=$1 last;
rewrite ^/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?mid=$1&act=$2 last;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?vid=$1&mid=$2&act=$3 last;

# trackback
rewrite ^/([0-9]+)/(.+)/trackback$ /index.php?document_srl=$1&key=$2&act=trackback last;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ /index.php?vid=$1&document_srl=$2&key=$3&act=trackback last;

# administrator page
rewrite ^/admin/?$ /index.php?module=admin last;

# document category
rewrite ^/([a-zA-Z0-9_]+)/category/([0-9]+)$ /index.php?mid=$1&category=$2 last;

# document permanent link
rewrite ^/([0-9]+)$ /index.php?document_srl=$1 last;

# mid link
location ~ ^/([a-zA-Z0-9_]+)/?$ {
    try_files $uri $uri/ /index.php?mid=$1;
}

# mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?mid=$1&document_srl=$2 last;

# vid + mid link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ /index.php?vid=$1&mid=$2 last;

# vid + mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?vid=$1&mid=$2&document_srl=$3 last;

# mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?mid=$1&entry=$2 last;

# vid + mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?vid=$1&mid=$2&entry=$3 last;

# rhymix file download
rewrite ^/files/download/([0-9]+)/([a-zA-Z0-9_-]+)/(.+)$ /index.php?act=procFileOutput&file_srl=$1&file_key=$2&filename=$3 last;
rewrite ^/@([a-zA-Z0-9가-힇_]+)/?$ /index.php?mid=some&act=dispSomethingProfileView&smember=$1 last;
 

마트몬 Lv. 8

댓글 2

  • 2022.01.04 02:48 #1641451

    주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.

    원래 사용하던  nginx 설정에 위 부분 지우셨나요????

  • 2022.01.04 02:54 #1641456

    답변감사합니다. 

    설정파일 (default) 와 사이트 설정파일( martmon ) 에 아래와 같은 파란색 블럭 영역 모두를 지우고 하니 에러 없이 사이트 정상 접속이 됩니다. 

    3333.JPEG