倍数Express应用+ NGINX作为反向代理服务器来提供静态文件(CSS,...)"/>
如何使用倍数Express应用+ NGINX作为反向代理服务器来提供静态文件(CSS,...)
上下文我在具有相同IP地址的同一台服务器上运行runnig Multiples nodeJS / Express应用程序。我使用Nginx反向代理这些应用程序,并将其重定向到子文件夹地址(而不是子域,我不想)。例如:http://123.0.0.1:8000 =>
问题我的资产文件(css,图像等)未加载,加载页面时,这些静态文件出现404错误。仅当我通过代理重定向,而当我使用IP地址时则不会发生:http://123.0.0.1:8000
如果在nginx conf中使用来自根目录的反向代理位置,则不会出现此问题:location / {
但我想从子文件夹地址访问该网站
我的整合树文件:
var/www/html
|Site1/
| |server.js
| |Views/
| | |index.pug
| |Public/
| | |Css/
| | | |Style.css
|Site2/
|....
nodejs服务器代码
const PORT = 8000;
const HOSTNAME = 'www.monsite';
// Dependencies.
const express = require('express');
const http = require('http');
// Initialization.
var app = express();
var server = http.Server(app);
app.set('port', PORT);
app.set('view engine', 'pug');
app.set('views','Views');
app.use(express.static('Public'));
app.use('/', (request, response) => {
response.render('index');
});
server.listen(PORT, HOSTNAME, function() {
console.log(`STARTING SERVER ON PORT ${PORT}`);
});
索引帕格代码
doctype html
html
head
title Site 1
link(rel="stylesheet" href="/Css/style.css")
body
p Hello
nginx conf
server {
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.htm index.nginx-debian.html index.php;
server_name www.monsite;
location / {
#Reserved for another site
}
location /Site1/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_pass http://123.0.0.1:8000/;
}
}
PS:我尝试了所有发现的所有解决方案和代码来搜索此问题,但没有任何效果,这就是为什么我直接在这里询问。谢谢。
回答如下:我认为问题出在链接标记中以加载css的URL,该URL无效,因为该URL实际上是/Site1/Css/style.css
。
更多推荐
如何使用倍数Express应用+ NGINX作为反向代理服务器来提供静态文件(CSS,...)
发布评论