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

Angular SSR应用部署到Nginx后浏览器后退导航无数据如何解决?

问题场景

我有一个部署在Nginx服务器上的Angular SSR应用,具体表现如下:

  1. 列表页发起API调用获取数据,生成指向其他页面的链接
  2. 点击任意链接跳转到对应页面并拉取数据
  3. 点击浏览器后退按钮返回列表页时无数据展示,原因是未触发API调用

已知情况

  • 本地环境运行完全正常
  • Nginx生产环境中,使用页面内其他按钮触发返回导航时功能正常

Nginx配置

server {
    server_name mydemosite;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ncladmin/demosite/mydemosite;
    }

    #location /pages/ {
    #    include proxy_params;
    #    proxy_pass mydemourl;
    #    proxy_set_header Host mydemogurl;
    #}

    location / {
        include proxy_params;
        proxy_pass http://unix:home/ncladmin/mydemosite/mydemosite.sock;
    }
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydemosite/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydemosite/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = mydemosite) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name mydemosite;
    return 404; # managed by Certbot
}

构建信息

客户端构建产物

初始块文件名称大小
main.61fa0bcbd5bdfcba15eb.jsmain283.33 kB
styles.9ead987bd4edd86dd57c.cssstyles125.30 kB
polyfills.297e52098208f3025ef2.jspolyfills36.66 kB
runtime.5dfcb54aae720d1a33d0.jsruntime2.27 kB
初始总大小-447.56 kB
懒加载块文件名称大小
1.83954724103e60c4ed8c.js-142.25 kB
5.c5db6147620ba74d2da0.js-32.53 kB
6.43c0aec6f6d8bd88beb8.js-3.94 kB

构建时间:2021-07-02T09:00:13.003Z,Hash:ceb338239b5ec146751f,构建耗时:61182ms

服务端构建产物

✔ Server application bundle generation complete.

初始块文件名称大小
main.jsmain2.73 MB
初始总大小-2.73 MB
懒加载块文件名称大小
vendorsmodules-content-pages-content-pages-modulemodules-home-home-module.jsvendorsmodules-content-pages-content-pages-modulemodules-home-home-module357.24 kB
modules-content-pages-content-pages-module~modules-home-home-module.jsmodules-content-pages-content-pages-module~modules-home-home-module160.14 kB
modules-content-pages-content-pages-module.jsmodules-content-pages-content-pages-module26.83 kB
vendors~modules-content-pages-content-pages-module.jsvendors~modules-content-pages-content-pages-module24.15 kB
modules-home-home-module.jsmodules-home-home-module4.84 kB

需提供的排查代码清单
  • 列表页组件的完整代码,重点包含生命周期钩子(ngOnInit、ngOnDestroy等)、数据请求触发逻辑、路由事件订阅、RxJS订阅清理的相关代码
  • 项目根路由配置以及列表页、详情页所属模块的路由配置代码,包含路由复用策略、onSameUrlNavigation配置、resolve守卫相关的定义
  • Angular SSR相关配置代码,包含app.server.module.ts、TransferState使用逻辑、服务端和客户端数据状态同步的相关代码
  • 页面内返回按钮的导航实现代码,以及项目中全局路由守卫、Location服务相关的自定义逻辑
  • Nginx中所有涉及Cache-Control、页面缓存、静态资源缓存的配置,以及angular.json中生产环境构建的outputHashing相关配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:15:00