我在开发服务器上设置了phusion乘客。
<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地址来实现吗?
由于
答案 0 :(得分:1)
您可以在Apache中使用基于IP的虚拟主机,将每个应用程序分配到自己的IP地址,或者使用不同的端口。
我假设您在开发中有多个应用程序,否则更简单的解决方案就是将此虚拟主机设置为默认应用程序。
设置基于IP和/或端口的虚拟主机非常简单。您只需要将[1]侦听到相关的IP /端口,然后根据上面的示例使用VirtualHost容器中的ip.address:端口。
[1] http://httpd.apache.org/docs/current/mod/mpm_common.html#listen
答案 1 :(得分:0)
我一直在研究如何做这几天。我找到了一个很好的起点,但我确信它可以改进。
将vhost的顶部更改为:
Listen 1234
<VirtualHost *:1234>
只要不使用,您就可以使用任何您喜欢的端口号。
您可以通过访问网络上其他计算机的浏览器中的yourcomputername.local:1234
来访问您的应用。
<强>注意事项:强>
这似乎阻止您按照您定义的名称(myapp.local)访问您的应用。我正在考虑你是否可以从同一个虚拟主机中做到这两点。
通过网络访问应用程序可能有更好的方法,例如运行应用程序的计算机上的yourcomputername.local / myapp和myapp.local。
很想听听有关改进此解决方案的建议