尝试在接受该mime类型的浏览器中有条件地提供WebP图像。我在现有的Nginx设置中实现已知解决方案时遇到问题。
我正在尝试使用以下方法实现WebP:
"<b>" + search + "</b>");
但是试图找到一种方法将它与我现有的nginx配置一起使用,除了错误之外什么都没有。我现有的配置(带有Node.js的AWS Elastic BeanStalk上的Nginx代理)似乎被反向代理到node.js进程。
我需要将其放入现有的Nginx配置中,如下所示:
map $http_accept $webp_suffix {
"~*webp" ".webp";
}
server {
listen 8081;
server_name localhost;
location / {
try_files $uri$webp_suffix $uri =404;
}
}
如何在上述Nginx配置中实现try_files指令,以便有条件地为WebP图像提供服务?
答案 0 :(得分:0)
使用命名位置作为try_files
指令的默认操作(而不是=404
响应)。有关详细信息,请参阅this document。例如:
map $http_accept $webp_suffix {
"~*webp" ".webp";
}
upstream nodejs {
server 127.0.0.1:8081;
keepalive 256;
}
server {
listen 8080;
root /path/to/document/root;
location / {
try_files $uri$webp_suffix $uri @nodejs;
}
location @nodejs {
proxy_pass http://nodejs;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
如果在/path/to/document/root
下面的目录结构中找到静态文件,有条件地附加.webp
,则nginx
将提供该文件。否则,控制权将被传递到指定位置,URI将被发送到node.js进程。