如何使用apache2为我的meteor应用程序正确设置反向代理

时间:2016-09-29 20:31:08

标签: apache meteor

我有一个使用此方法Deploy a meteor app部署的流媒体应用程序,该工作正常,现在可以在mydomain.com:3000上运行,但我想在mydomain.com/myapp上访问它。为此,我尝试将apache2与mods一起使用,按照我在网上阅读的内容,我的配置是:

<VirtualHost *:80>
    ServerName mydomain.com

    Alias /myapp /home/me/Documents/myapp/bundle/public
    <Location /memo>
            PassengerBaseURI /myapp
            PassengerAppRoot home/me/Documents/myapp/bundle

            PassengerAppType node
            PassengerStartupFile main.js

    </Location>


    <Directory /home/me/Documents/myapp/bundle/public>
            Allow from all
            Options -MultiViews
    </Directory>


    ProxyPass /myapp http://localhost:3000/
    ProxyPassReverse /myapp http://localhost:3000/
</VirtualHost>

但是当我继续使用mydomain.com/myapp时,我在mydomain.com:3000上有一个空白页面,这个工作正常。

什么不好?

编辑:我想知道这个问题是不是来自流星应用程序,因为我的页面顶部有一个窗口标题(来自我),但页面的其余部分始终是空。

所以重定向工作有点......

由于mydomain / myapp sub-uri以及app配置中的错误,我的meteor应用程序难以找到他的资源吗?我已将ROOT_URL环境变量定义为mydomain.com/myapp

2 个答案:

答案 0 :(得分:1)

对我来说apache2不是一个很好的选择,你应该使用nginx

配置示例:

server {
    listen 80;

    server_name example.com www.example.com;

    location /myapp {
        proxy_pass http://localhost:3000/;
    }
}

答案 1 :(得分:0)

这是我用来重定向/博客到Meteor服务器的设置(我不使用Passenger和Apache)

<VirtualHost *:80>
    ServerName myserver.com:80
    Redirect permanent / /blog/

    ProxyRequests Off
    ProxyVia Block
    ProxyPreserveHost On
    <Proxy *>
         Require all granted
    </Proxy>
# Meteor ghost blog
    ProxyPass /meteor/ http://172.31.1.11:3000/
    ProxyPassReverse /meteor/ http://172.31.1.11:3000/
</VirtualHost>

这有效,但我必须同意@ kalid-rafik认为nginx是一个更容易的解决方案。也许你可以要求另一个ip地址与nginx一起使用?

相关问题