我用的是来自AWS的EC2和Nginx。
假设我有三个域名: domain1.com、domain2.com、domain3.com。假设我在三个不同的端口上有三个rails应用程序: 3000,3001,3002。
所有这些域都链接到端口80上的我的服务器。
根据请求的URL,我希望端口80将请求重定向到正确的端口。
如何配置虚拟主机文件?我知道If块存在,但Nginx似乎不推荐它。我的计划是在我的EC2上有多个站点。
我不能在我的rails应用程序端口上设置服务器块,因为它会阻塞rails服务器。
发布于 2017-01-17 18:02:39
您已经说过您希望您的站点位于不同的端口上,并且希望它们链接到端口80。这还不清楚。
Nginx可以在端口80上监听不同的网站,您只需使用不同的域来配置它。例如
server {
server_name www.example.com;
listen 80;
return 301 https://www.example.com$request_uri;
}
server {
server_name www.example.com;
listen 443 ssl https;
root /var/www/site;
// Insert https stuff here
}
server {
server_name www.example2.com;
listen 80;
root /var/www/site2;
}
server {
server_name www.example3.com;
listen 80;
root /var/www/site3;
}您还可以运行一个负载均衡器和多个nginx实例,但这是没有意义的。
https://serverfault.com/questions/826814
复制相似问题