Nginx反向代理没有正确加载站点



我有一个CCD_ 1配置,它监听任何子域CCD_,我想使用子域作为变量,代理请求到其他网站。这是我的nginx配置

server {
listen 80;
server_name "~^(?<subdomain>.*).mydomain.com";
location / {
resolver 1.1.1.1 1.0.0.1 ipv6=off;
proxy_pass http://hosting.mydomain.com/$subdomain/;
proxy_redirect off;
access_log /var/log/nginx/proxy.log;
}

}

正如我直接请求的网站,它加载完美的

网站放置在AWS S3上,bucket静态网站地址cnamed为mydomain

但是,当我尝试通过user1.mydomain.com, the page didn't load images, and css访问时

这是同一个站点

在浏览器中,网络面板显示

直接和代理访问之间的区别

之所以会出现这个问题,是因为我有许多站点存储在S3存储桶中,并且位于不同的文件夹中(文件夹名称用作子域(。我想用一个域通过子域访问所有的域名。

提前感谢

您忘记了代理传递URI,您为每个请求提供user1/index.html,包括JS和CSS请求,这就是为什么所有响应的大小都相同(2kb,user1/index.html的大小(,这也是为什么在Enterprise_skeleton.bundle.js的第一行中获得Uncaught SyntaxError: Unexpected token <,因为它返回的HTML文档以<!doctype html>开头,而不是实际的JS捆绑包。

更改

location / {
proxy_pass http://hosting.mydomain.com/$subdomain/;
}

location / {
proxy_pass http://hosting.mydomain.com/$subdomain$uri;
}

最新更新