Nginx 反向代理没有正确加载站点
Nginx reverse proxy didnt load site correctly
我有一个 nginx
配置,可以监听任何子域 *.mydomain.com
,
我想使用子域作为变量,将请求代理到其他站点。
这是我的 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;
}
}
因为我直接请求网站并且它加载完美
Site placed on AWS S3, and bucket static website address cnamed to mydomain
但是,当我尝试通过 user1.mydomain.com, the page didn't load images, and css
访问时
This is the same site
并在浏览器网络面板中显示
Difference between direct and proxy access
这个问题是因为我有很多站点存储在 S3 存储桶中并且位于不同的文件夹中(文件夹名称用作子域)。
我想使用一个域通过子域访问所有这些域。
提前致谢
您忘记代理传递 URI,您正在为每个请求提供 user1/index.html
服务,包括 JS 和 CSS 请求,这就是为什么所有响应的大小都相同(2kb, user1/index.html
的大小),这也是为什么你在 Enterprise_skeleton.bundle.js
的第一行得到 Uncaught SyntaxError: Unexpected token <
因为它返回一个以 <!doctype html>
开头的 HTML 文档而不是实际的 JS 包。
改变
location / {
proxy_pass http://hosting.mydomain.com/$subdomain/;
}
至
location / {
proxy_pass http://hosting.mydomain.com/$subdomain$uri;
}
我有一个 nginx
配置,可以监听任何子域 *.mydomain.com
,
我想使用子域作为变量,将请求代理到其他站点。
这是我的 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;
}
}
因为我直接请求网站并且它加载完美
Site placed on AWS S3, and bucket static website address cnamed to mydomain
但是,当我尝试通过 user1.mydomain.com, the page didn't load images, and css
This is the same site
并在浏览器网络面板中显示
Difference between direct and proxy access
这个问题是因为我有很多站点存储在 S3 存储桶中并且位于不同的文件夹中(文件夹名称用作子域)。 我想使用一个域通过子域访问所有这些域。
提前致谢
您忘记代理传递 URI,您正在为每个请求提供 user1/index.html
服务,包括 JS 和 CSS 请求,这就是为什么所有响应的大小都相同(2kb, user1/index.html
的大小),这也是为什么你在 Enterprise_skeleton.bundle.js
的第一行得到 Uncaught SyntaxError: Unexpected token <
因为它返回一个以 <!doctype html>
开头的 HTML 文档而不是实际的 JS 包。
改变
location / {
proxy_pass http://hosting.mydomain.com/$subdomain/;
}
至
location / {
proxy_pass http://hosting.mydomain.com/$subdomain$uri;
}