我正在尝试使用nginx的反向代理来显示本地图像,即我在AWS云端的图像。
为此,我为这些文件添加了一个新位置,它正在运行。
问题是当图像具有非ascii字符时。我已将编码设置为utf-8但是,当要求进入cloudfront时,nginx会将特殊字符设为??
这是我的网站conf:
source_charset utf8;
charset utf8;
server {
listen 80;
root /srv/app/;
server_name _;
client_max_body_size 50M;
location ~* "(*UTF8)/content/images/(?<image>.+)$" {
resolver 8.8.8.8;
proxy_pass https://my_distribution.cloudfront.net/$image;
}
}
我已经掌握了en_US.utf-8上的所有内容。
这个nginx在nginx-alpine docker中运行。这是Dockerfile:
ROM nginx:stable-alpine
ENV TERM="xterm"
RUN apk --no-cache add ca-certificates wget && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-2.25-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-bin-2.25-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.25-r0/glibc-i18n-2.25-r0.apk && \
apk --no-cache add glibc-bin-2.25-r0.apk glibc-i18n-2.25-r0.apk glibc-2.25-r0.apk
RUN /usr/glibc-compat/bin/localedef -i en_US -f UTF-8 en_US.UTF-8
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8
我该如何调试?如何解决这个问题?
谢谢!