gpt4 book ai didi

node.js 服务器返回/,来自/公共(public)/通过 nginx 的静态文件?

转载 作者:搜寻专家 更新时间:2023-10-31 22:48:54 25 4
gpt4 key购买 nike

我在使用 Rasmus Andersson 令人敬畏的 node.js EC2 模板时遇到了一点问题 http://rsms.me/2011/03/23/ec2-wep-app-template.html

好的,问题是

我想要根网址 http://www.mydomain.com/由 node.js 服务器(监听端口 3000)传递的响应

nginx 仍应从/public/传递所有静态信息(因此 nginx 应首先查看/public/,如果不存在,则将请求传递给端口 3000 上的 node.js)即:

这是我的 /etc/nginx/sites-available/mydomain-http 配置文件。我知道我将不得不重写位置/部分,但我不知道我应该在那里放什么。

非常感谢

## Access over HTTP (but not HTTPS)
server {
listen 80;
listen [::]:80 default ipv6only=on;
access_log /var/log/nginx/access.log;
location / {
root /var/mydomain/public;
index index.html;
error_page 404 = @backend;
}
location @backend {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Client-IP $remote_addr;
}
}

最佳答案

我正在自己回答这个问题,因为我在多次“哦,我的............我无法相信这行不通”之后找到了解决方案。我的案例中缺少的是

error_page 403 = @backend;

在主服务器 block 中,作为对/的请求没有返回 http 404(找不到文件),而是返回 http 403(无法访问)。

问题已作为问题编号提交回项目。 5 https://github.com/rsms/ec2-webapp/issues#issue/5

关于node.js 服务器返回/,来自/公共(public)/通过 nginx 的静态文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5530784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com