라이믹스 2.0 짧은 주소 사용 nginx 설정 관련 문의드립니다.
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 파일 주요 내용 ]
[ martmon 설정 파일 주요 내용 ]
* xe에서 사용하던 xe-rewrite.conf 파일에 라이믹스 1.8버젼대의 rewrite 규칙이 적용된 파일입니다.
/etc/nginx/snippets/xe-rewrite.conf로 저장이 되어 있었습니다.
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를 실행하면 아래와 같은 에러가 발생하면서 사이트 접속이 되질 않습니다.
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;
댓글 2
주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.
원래 사용하던 nginx 설정에 위 부분 지우셨나요????
답변감사합니다.
설정파일 (default) 와 사이트 설정파일( martmon ) 에 아래와 같은 파란색 블럭 영역 모두를 지우고 하니 에러 없이 사이트 정상 접속이 됩니다.