我刚刚设置了nginx作为一个反向代理,所以一些从站点服务的站点直接服务于它,而另外一些则转发到Node.js服务器。
但是,由Node.js服务的站点没有显示CSS或图像,所以我假设链接被破坏,但不知道为什么。
以下是/ etc / nginx / sites-enabled中的唯一文件:
server { listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6 server_name dev.my.site; access_log /var/log/nginx/localhost.access.log; location / { root /var/www; index index.html index.htm; } location /myNodeSite { proxy_pass http://127.0.0.1:8080/; proxy_redirect off; proxy_set_header Host $host; } }
我曾经想过,也许是因为第一次进入而试图在/ var / www中find它们,但是删除它似乎没有帮助。
没有更多的细节,这只是一个猜测,但在你的前端,你已经让你的node.js在/myNodeSite可用。 如果你的node.js站点返回这样的内容:
<img src="/images/myimage.png"/>
客户端将请求/images/myimage.png …这将不会被引导到您的node.js站点,因为它不以/myNodeSite开始。 有几个解决scheme:
nginx ,但是Apache有mod_proxy_html 。 你也许可以在你的node.js站点上完全使用相对的链接(没有前导/ ),但这意味着一个非常平坦的站点布局,很容易被打破。