当前位置: 首页 > 面试题库 >

如何从充当Node.js服务器的反向代理的Nginx服务器提供静态文件?

衡建中
2023-03-14
问题内容

我当前的nginx配置是这样的:

upstream nodejs {
    server 127.0.0.1:3000;
}

server {
    listen 8080;
    server_name localhost;
    root ~/workspace/test/app;
    index index.html;

    location / {
        proxy_pass http://nodejs;
        proxy_set_header Host $host ; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

我对nginx非常陌生,但是至少我知道nginx在提供静态文件方面比node / express好。如何配置服务器,以便Nginx提供静态文件?


问题答案:

我使用以下新配置解决了该问题:

upstream nodejs {
    server localhost:3000;
}

server {
    listen 8080;
    server_name localhost;
    root ~/workspace/test/app;

    location / {
        try_files $uri @nodejs;
    }

    location @nodejs {
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_pass http://nodejs;
        proxy_set_header Host $host ; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

感谢以下Stack Overflow帖子:



 类似资料:
  • 我有一个Nginx服务器托管一个web应用程序,当直接访问时工作正常。其配置如下 现在我必须从另一个Nginx服务器上服务这个应用程序,所以我设置了如下所示的反向代理 当我从server2访问应用程序时,我会得到如下错误,例如,当我访问HTTP:server2.com/app/css/app.css时 [error]6601#0:*1 open()“/data/www/app/css/app.cs

  • 我有一个apache服务器在运行,在这个服务器上我也有一个mongo数据库在运行,监听标准端口27017。 我试过这个,但似乎一点也不起作用:

  • 问题内容: 如何使用Go Web服务器提供index.html(或其他静态HTML文件)? 我只想要一个基本的静态HTML文件(例如,一篇文章),就可以从Go Web服务器上提供该文件。HTML应该可以在go程序之外进行修改,就像使用HTML模板时一样。 这是我的Web服务器,仅托管硬编码文本(“ Hello world!”)。 问题答案: 使用Golang net / http包,该任务非常容易

  • 问题内容: 这个问题已经被回答了好几次了,我已经看到了几乎所有相关的帖子,但是无法加载CSS文件。我在我的项目中有以下结构:中,我有以下代码: 在urls.py中,我有以下代码: 我在模板中使用它 我在做什么错?我应该做什么?例如应该在中添加任何内容?或在的设置中?请假设我是一个绝对的初学者。我真的需要一个答案。谢谢。 问题答案: 什么都不做的装饰器类如下所示: 然后您可以正常应用它:

  • 使用nginx作为前端的反向代理将请求传递给应用是可行的。然而,只有nginx 1.4版本以上才支持WebSocket协议。下面是nginx代理HTTP和WebSocket请求的一个最基本的配置: server { listen 80; server_name _; location / { include proxy_params; pro

  • 我试着设置nginx来服务我的node.js应用程序静态文件。问题是,当我试图得到我的文件时,我的状态是403禁止的。 当我尝试下载一个文件从 /root/appJs/public/css/style.css我写http://sitename.com/css/style.css我retive 403禁忌状态。我已经在一些论坛上寻找解决方案,但没有