我们有几个节点应用程序,我们试图在Nginx之后进行代理。 这些节点应用程序中的每一个都是独立开发的,所有的相对path都指向了/的文档根目录。
有没有办法让Nginx帮忙提供这些静态的CSS / JS文件?
Nginx.conf
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream app1 { server localhost:3001; } upstream app2 { server localhost:3002; } upstream app3 { server localhost:3003; } server { listen 8180; server_name localhost; location /app1 { proxy_pass http://app1/; } location /app2 { proxy_pass http://app2/; } location /app3 { proxy_pass http://app3/; } } }
app1 index.html
Nginx + PHP的fastcgi无法打开文件,权限被拒绝
无法用Nginx PlusreplaceNginx作为使用Kubernetes的Google Cloud上的微服务的反向代理
如何使用Nginx和gunicorn为Django应用程序提供静态文件?
在django + Nginx + wsgi中,什么是“mysite.sock”
<html> <head> <title>Express</title> <link rel="stylesheet" href="/stylesheets/style.css"> </head> <body> <h1>Express</h1> <p>Welcome to Express</p> <p class="foo">A simple test to see if the app is served correctly</p> </body> </html>
正如你所看到的,app1的index.html指向一个“/stylesheets/style.css”的相对path。 Nginx把它放在http://localhost:8180/app1后面,这样一旦html被传送给客户端,path就不会被识别。
我意识到我可以在所有三个应用程序中更改html以使用映射到css的完整path,例如: http://localhost:8180/app1/stylesheets/styles.css 。
我只是好奇,如果有人对此有任何的意见。 提供多个应用程序时,处理这类问题的正确方法是什么?
在Nginx后面运行jasperserver:潜在的CSRF攻击
把Nginx日志放入Kafka最好的select?
net :: ERR_CONNECTION_REFUSED与Nginx和Laravel 5
如何连接我的NodeJS与我的Angular(在Nginx中)
工头不与Nginx合作
我有一个类似的问题,发现这个reddit线程 。 我有一个节点快递应用程序。 通过删除href值(相对路径而不是绝对路径)中的前导斜杠,它能够建立正确的路径。 在Nginx中的位置设置:
location /app1/ { proxy_pass http://localhost:3002/; alias /app1/client; }
并与<link rel="stylesheet" href="/css/theme.css">浏览器将尝试加载mydomain.com/css/theme.css和失败(错误的路径,没有什么),但与<link rel="stylesheet" href="css/theme.css">浏览器将成功加载mydomain.com/app1/css/theme.css
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。