我已经在我的开发服务器上设置了phusion passenger。
<VirtualHost *:80>
ServerName railscasts.local
DocumentRoot "/Users/rbates/code/railscasts/public"
RailsEnv development
RailsAllowModRewrite off
<directory "/Users/rbates/code/railscasts/public">
Order allow,deny
Allow from all
</directory>
</VirtualHost>我希望从网络上的其他机器访问我的rails应用程序,但我不希望为我想要访问它的每台机器配置我的hosts文件。
127.0.0.1 railscasts.local根据我的理解,我可以设置一个本地DNS服务器来解决这个问题,但是,同样,我不希望这样做。我尝试将ServerName设置为我的开发服务器的ip地址,但这不起作用,它只是静默地失败了。
除了DNS服务器,或者配置LAN上的每台机器之外,还有其他方法可以实现这一点吗?我是否可以通过指定ip地址来实现此目的?
谢谢
发布于 2010-11-09 02:05:13
您可以在Apache中使用基于IP的虚拟主机,将每个应用程序分配到其自己的IP地址,或者使用不同的端口。
我假设你有一个以上的应用程序在开发中,因为否则一个更简单的解决方案是简单地将这个vhost设置为默认的。
设置基于IP和/或端口的虚拟主机非常简单。您只需要监听1个相关in /端口,然后按照上面的示例使用VirtualHost容器中的ip.address:port即可。
1
发布于 2011-03-03 03:31:23
几天来,我一直在研究如何做到这一点。我已经找到了一个很好的起点,但我相信它还可以改进。
将vhost的顶部更改为:
Listen 1234
<VirtualHost *:1234>您可以使用任何您喜欢的端口号,只要它不在使用中。
您可以通过在网络上另一台计算机的浏览器中访问yourcomputername.local:1234来访问您的应用程序。
警告:
这似乎会阻止您使用您定义的名称(myapp.local)访问您的应用程序。我正在研究您是否可以在同一个vhost上同时执行这两项操作。
在运行应用程序的机器上,通过您的something name.local/myapp和myapp.local之类的内容通过网络访问该应用程序可能是一种更好的方法。
我希望听到关于改进这个解决方案的建议。
https://stackoverflow.com/questions/4124060
复制相似问题