当前位置: 首页 > 知识库问答 >
问题:

Tomcat前面的Nginx不提供静态文件

扈运浩
2023-03-14

我在Tomcat前面有Nginx,但proxy_pass静态文件不提供。这是我的配置:

upstream tomcat {
server 127.0.0.1:8080 fail_timeout=0;
}

server {
    listen 80 ;
    listen [::]:80 ;
    index index.html index.htm index.nginx-debian.html;
    server_name example.com; # managed by Certbot   

    location / {
            try_files $uri $uri/ =404;
            proxy_pass http://127.0.0.1:8080/example/login;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
    }

    location /css {
            root /var/lib/tomcat7/webapps/example/assets/theme/css/;
    }

如果我去https://example.com我得到的Tomcat应用程序没有CSS,没有图片。

从错误中恢复。日志

2019/02/07 16:14:27 [error] 17098#17098: *3 open() "/var/lib/tomcat7    /webapps/example/example/assets/css/main.css" failed (2: No such file or directory), client: 192.168.1.2, server: example.com, request: "GET /example/assets/css/main.css HTTP/1.1", host: "example.com", referrer: "https://example.com/"

共有1个答案

吴高畅
2023-03-14

我用以下方法修复它:

location /example/assets/css {
            root /var/lib/tomcat7/webapps/example/assets/css;
            proxy_pass http://127.0.0.1:8080/example/assets/css;
}
 类似资料:
  • 我一直在处理将一个站点从Apache迁移到Nginx的过程,我快要失去理智了。虚拟主机不想提供静态资源(css、js等),我似乎不知道为什么。服务器块看起来像这样: 我错过了什么?我知道这是因为我对Nginx缺乏经验,但任何建议都将不胜感激。 谢谢 更新 这似乎与我以前遇到麻烦的化名有关。如果我将我的文档根指向别名位置(),并尝试呈现没有别名的静态内容,它会呈现良好的效果。一旦我在网址中输入别名.

  • 问题内容: 这是我的项目文件夹 这是我index.js中的静态文件配置 这是我的index.html 这是我的nginx配置 但是我在所有脚本上都得到404。另一个奇怪的是,这些文件上的mime-type设置为 我在这里做错了什么? 我有一个项目,该项目具有相同的项目结构,并且具有相同的配置,但它适用于此项目,在这种情况下不起作用。 问题答案: 您无需配置Nginx 和 Express即可提供静态

  • 问题内容: 我正在为Django使用apache + mod_wsgi。 并且所有css / js / images都通过提供。 出于某种奇怪的原因,当其他人/朋友/同事尝试访问该网站时,jquery / css不会为他们加载,因此页面看上去很混乱。 我的html文件使用这样的代码- 我的nginx配置是这样的 有一个目录,其中有相应的&目录。 奇怪的是,当我访问它们时页面显示正常。 我已经清除了

  • 问题内容: 我正在使用,我的django应用的结构如下 的是 在我尝试使用它为: 但是它没有加载并给出错误 我跑去收集所有静态文件。 为什么要加载CSS文件?是否缺少任何配置? 请提出建议。 问题答案: 根据文档正确的方式来加载静态文件是 这会工作

  • 问题内容: 我有一个具有以下结构的Web应用程序: 我已经设法使用nginx和wsgi运行Web应用程序,但是问题是没有提供静态文件,我的意思是,当我转到它们的URL时,服务器找不到它们。它给我404。 这是我的nginx配置文件部分: 缺少什么吗? 问题答案: 将此添加到你的nginx配置 用你应用的绝对路径替换时,你应该注意它不包含静态目录,并且其中的所有内容都将存储在中。

  • 我在数字海洋上有一个水滴,我正在使用它来主持一个网站和该网站的API。 null