2013-12-14 130 views

回答

1

另一種其他的方式來做到這一點是讓nginx處理的代理和使用虛擬主機來分離流量。

你需要的nginx 1.4.3或更高版本,以代理的WebSockets,下面的配置將做到這一點:

/etc/nginx/conf.d/upgrade.conf

map $http_upgrade $connection_upgrade { 
    default upgrade; 
    ''  close; 
} 

的/ etc/nginx的/ /流星

server { 
    server_name domain1.com; 

    # add_header X-Powered-By Meteor; 

    location/{ 
     proxy_pass http://127.0.0.1:3000; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection $connection_upgrade; 
    } 
} 

啓用站點,併爲Apache竟被現場的nginx的配置d和往常一樣,但用server_name domain2.com;或任何你想命名它。

3

您可以使用node-http-proxy腳本來執行此操作或nginx。

示例節點-http代理腳本。一定要使用caronte分公司將允許的WebSockets與流星工作,而下降到長輪詢:

樣品的Node.js腳本

var httpProxy = require('http-proxy'); 

httpProxy.createServer({ 
    router: { 
    'domain1.com': 'localhost:3000' //Meteor port & host 
    'domain2.com': 'localhost:8000' //Apache port & host 
    } 
}).listen(80); 

所以上述端口80上的你會在運行流星運行在端口3000端口和Apache/nginx的8000

代理會檢查域主機名和如果domain1.com會充當一個透明的代理爲localhost:3000

相關問題