nginx端口从端口3001上运行的流星应用程序转发到端口80

时间:2013-12-02 01:59:13

标签: nginx meteor portforwarding

我正在我的VPS上的端口3001上运行一个流星应用程序,并希望将其转发到端口80.这是我的虚拟主机配置:

server
    {
            listen 80;
            server_name meteor.myDomain.com;
            root  /home/wwwroot/meteor.myDomain.com/leaderboard;
            include typecho.conf;
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                    {
                            expires      30d;
                    }

            location ~ .*\.(js|css)?$
                    {
                            expires      12h;
                    }

            location /example {
               proxy_pass http://127.0.0.1:3001;
               proxy_set_header Host $host:80;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header X-NginX-Proxy true;
           }
            access_log off;
    }

当我在浏览器中输入“meteor.myDomain.com/example”时,我得到: enter image description here enter image description here

看起来我的端口转发成功,但我想知道为什么我得到404请求css和js文件?这两个文件位于/ example / programs / client中。

当我键入“meteor.myDomain.com/example:3001”时,一切正常,所以我认为必须运行我的配置。有人可以帮忙吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

为meteor配置nginx可能很棘手,因为根路径根据请求URL(favicon vs捆绑资产与打包资产)不同而不同。

你的root指令说的是:

/style.css可在此处找到:/home/wwwroot/meteor.myDomain.com/leaderboard/style.css

显然不对(它实际上在bundle/programs/client下)。我建议您仔细查看我的question and answer以及示例gist。如果您在此之后有任何问题,我将很乐意回答。