我试图反映一个请求,我们的服务之一,nginx作为web服务器。我使用了镜像指令将请求代理到AWS ALB,但似乎nginx并没有将请求复制到ALB。
server {
listen 80;
server_name service-01.example;
root /srv/www/apps/service-01/public;
location / {
mirror /mirror;
try_files $uri @app;
}
location @app {
uwsgi_pass unix:/run/uwsgi-apps/service-01.sock;
uwsgi_read_timeout 300s;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_modifier1 5;}
location /mirror {
internal;
proxy_pass http://aws-alb$request_uri;
}发布于 2023-04-05 04:26:45
proxy_pass位置块中的/mirror指令不应该包含$request_uri,默认情况下镜像请求的URI是保留的。
我这样修改了您的配置:
server {
listen 80;
server_name service-01.example;
root /srv/www/apps/service-01/public;
location / {
mirror /mirror;
try_files $uri @app;
}
location @app {
uwsgi_pass unix:/run/uwsgi-apps/service-01.sock;
uwsgi_read_timeout 300s;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_modifier1 5;
}
location /mirror {
internal;
proxy_pass http://aws-alb; # Remove the $request_uri variable
}
}https://serverfault.com/questions/1127905
复制相似问题