You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Nginx部署Angular应用:location /ss资源加载路径异常

解决Angular部署在Nginx /ss路径下的资源加载错误问题

我之前也碰到过一模一样的问题!Angular单页应用部署在Nginx子路径下时,最容易踩的就是资源路径和前端路由的坑,给你一步步解决:

1. 先修正Angular编译的基础路径

Angular默认编译时会把资源路径设为根目录(/),当你要部署到/ss子路径下时,必须告诉Angular资源的基础路径:

执行编译命令时加上--base-href参数:

# 生产环境编译
ng build --prod --base-href /ss/

# Angular 12+ 也可以这样写
ng build --configuration production --base-href /ss/

编译完成后,你会看到dist目录下的index.html里多了一行:

<base href="/ss/">

这会让Angular所有静态资源(JS、CSS、图片等)都从/ss/路径加载,不会再去根目录找。

2. 配置Nginx的location /ss

接下来要让Nginx正确映射/ss路径到你的Angular静态文件,同时处理前端路由的fallback(因为Angular路由是前端路由,直接刷新子页面会404):

场景1:直接部署静态文件(最常见)

如果你的Angular已经编译成静态文件放在服务器上,用这个配置:

server {
    listen 81;
    server_name example.com;

    # 替换成你Angular编译后dist目录的绝对路径
    set $angular_dist /var/www/your-angular-app/dist;

    location /ss {
        # 用alias去掉/ss前缀,直接指向dist目录下的文件
        alias $angular_dist;
        
        # 优先找静态文件,找不到就转发到index.html(支持前端路由)
        try_files $uri $uri/ /ss/index.html;

        # 保留你原来需要的请求头(如果有的话)
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

注意这里用alias而不是root:root会把/ss作为子目录去查找文件,而alias会直接把/ss映射到dist目录,更符合我们的需求。

场景2:反向代理到Angular开发/后端服务

如果你的Angular是运行在后端服务(比如开发服务器localhost:4200),那配置要调整为:

server {
    listen 81;
    server_name example.com;

    location /ss {
        # 末尾的斜杠很重要!它会把/ss后的路径转发到后端的根路径
        proxy_pass http://localhost:4200/;
        
        # 保留请求头
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        # 告诉后端请求的基础路径
        proxy_set_header Host $host;
    }
}

这种情况下同样要确保Angular已经设置了--base-href /ss/,否则资源还是会从根目录加载。

3. 验证配置

修改完Nginx配置后,重启Nginx生效:

sudo systemctl restart nginx

现在访问http://example.com:81/ss/#/screenshots,应该就能正常加载资源和路由了!


内容的提问来源于stack exchange,提问作者codebot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:49:38