※ DSM에서 리버스 프록시 설정 시 ;
proxy를 사용한 /glitter/, 이와 같은 sub-경로로 직접 리디렉션하는 것은 허용되지 않음.
※ nginx server에서는 .htaccess 파일을 지원하지 않음.
※ DNS에서 해결책 ;
>>> /glitter/, sub-경로를 서브 도메인(glitter.glitter.com)을 사용하여 웹서비스를 만들고
이 도메인(glitter.glitter.com)을 리버스 proxy로 reditect시킴.
※ 'glitter.com',이 DS923의 기본 서비스 도메인 인 경우 ;
> nginc-config를 다루실 수 있더라도
이 NAS에 기본으로 연결된 도메인의 server_config를 바꾸기는 쉽지 않음. -
- 바꾸어도 휘발성 저장이여서, nginx를 재시작하면 초기화됨 - 시놀로지 firmware 설정인 듯~
※ DNS을 사용 하지 않는 해결책 ;
>>> DS923의 DSM에서 도메인(glitter.com)을 사용 하지 않음, - "웹스테이션 설정"에서 제거.
>>> 터미널(SSH 등)이나 FileZilla(ftp, sftp) 등으로
/usr/local/etc/nginx/sites-enabled, 이 폴더에
도메인(glitter.com)의 서벼구성 파일(glitter_com.conf)을 아래와 깉이 만들어 추가.
server {
listen 80;
server_name glitter.com www.glitter.com;
location = / {
return 301 /glitter/;
}
location /glitter/ {
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 glitter.com www.glitter.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name glitter.com www.glitter.com;
ssl_certificate /etc/nginx/ssl/glitter.com.crt;
ssl_certificate_key /etc/nginx/ssl/glitter.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location = / {
return 301 /glitter/;
}
location /glitter/ {
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;
}
# 정적 파일 처리 예시 (필요한 경우 추가)
location /images/ {
root /var/www/glitter.com/images;
access_log off;
}
# 캐시 헤더 설정 (필요한 경우 추가)
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg)$ {
expires 30d;
add_header Cache-Control "public";
}
# 404 오류 발생 시 https://404.glitter.kr/로 리디렉션 (필요한 경우 추가)
error_page 404 = @redirect_404;
location @redirect_404 {
return 303 https://404.glitter.kr/;
}
}
♣ 설정을 마친 후, - DS923의 nginx 재시작 명령는 특정 되여 있음
ex) nginx -s reload, 이런 명령어는 재시작 않됨 ~
★ DS923, config_error_check와 nginx 재시작
nginx -t
systemctl restart nginx
댓글목록
등록된 댓글이 없습니다.