프록시 설정을 하면, 이를 통해서 전송되는 컨텐츠는 content-type 이 "application/octet-stream" 로 전송됨으로 인해 svg 파일이 압축되지 않고 전달된다.
이를 처리하기 위해서는 아래와 같이 설정한다.
1. /etc/nginx/nginx.conf 에 설정 추가
http {
##
# Basic Settings
##
.
.
.
##
# Gzip Settings
##
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain
text/css
application/json
application/javascript
text/xml
application/xml
application/xml+rss
text/javascript
image/svg+xml;
# 이부분 추가
map $uri $custom_content_type {
default application/octet-stream;
~(.*.svg)$ image/svg+xml;
}
.
.
.
}
* 위와 같이 기존 gzip 설정 아래 쪽에 map 부분을 설정해준다.
2. /etc/nginx/sites-available/default 의 프록시 설정부분에 아래 설정 추가
server {
listen 8080 default_server;
listen [::]:80 default_server;
.
.
.
location ^~ /api {
proxy_pass http://localhost:9150;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_hide_header Content-Type;
add_header Content-Type $custom_content_type;
charset utf-8;
}
}
* 기존 프록시 항목에 proxy_hide_header, add_header 항목을 추가한다.
nginx restart
service nginx restart
'Server > Nginx' 카테고리의 다른 글
nginx CORS 처리 (0) | 2025.02.26 |
---|---|
nginx cache 설정하기 (2) | 2024.11.13 |
nginx 파일 업로드 최대 용량 제한 (0) | 2024.06.06 |
nginx proxy 설정 (0) | 2024.06.06 |
nginx gzip 설정 (웹사이트 컨텐츠 압축하여 전송) (0) | 2024.06.06 |