我正在开发一个网站,需要与其他利益相关者分享进展。
是否有可能从家里或我的局域网外的远程计算机上查看我的apache服务器(本地主机)?
本地主机是一个内部接口,不可用于世界其他地方。
你有两个select。 一个是重新configuration你的networking服务器来监听外部接口的端口80。 另一种select是将TCPstream量从外部端口80转发到本地主机。
无论您select哪种方法,您都需要某种访问限制。
Web服务器所在的局域网在哪里? 如果它在你的家里,那么你可以configuration你的个人soho路由器转发所有请求传入http(80)到本地局域网上的特定IP地址。 这是通过路由器的pipe理Web界面实现的,大多数情况下都可以通过设备的网关IP进行访问。 你将要确保apache被configuration为在计算机LAN IP而不仅仅是回送接口上进行监听:
netstat -ntlp
这将列出哪些服务正在侦听哪个IP:端口。 你可能需要像这样修改apache的listen指令:
听0.0.0.0:80
并validationiptablesconfiguration为接受目的地为80端口的stream量。
如果服务器在没有访问权限或无权修改路由器的内部networking上进行设置,则不应尝试公开该服务器。 如果你能把它运作起来,那很可能会违反公司的政策。
另外,不要把你的家庭IP地址给所有人(因为它会在某个时刻改变/过期),而是可以给出一个dyndns地址。 请参阅dyndns.org
如果这不是你想要的,那么请在你的问题中提供更多的细节。
设置Apache服务器并允许您的路由器允许端口转发到您的机器上的http端口(假设在家中)。 我build议你设置静态IP为您的家庭计算机和dyndns帐户在您的路由器,这有助于您的客户看起来你有虚拟主机。
最好的select是在上面的设置之后,或者如果你有一个远程服务器是使用“基本的HTTPvalidation”,以便只有特定的用户login才能看到你的页面。
# cat .htaccess # the directory which you want to protect. AuthType Basic AuthName "Beta users only" AuthUserFile /abs/path/to/passwd/file Require valid-user
查看htpasswd命令,将用户名和密码填入/ abs / path / to / passwd / file
为鼓励升级到更高端的软件包,并阻止大量使用低端软件包的上行stream量,ISP通常会过滤最常见的互联网服务器端口。 所以你要做的第一件事就是改变Apache正在监听的端口。 1024以上的任何东西通常是一个安全的赌注。 或者,您可以联系您的ISP,找出他们想要解锁stream量多less钱。
Listen 8080 <VirtualHost *:8080> # ... </VirtualHost>
其次,假设你正在使用一个伪装的NAT路由器(如果你有一个路由器,只是假设它是这样),你将需要转发相同的端口到你的服务器。
第三,如果你的互联网连接有一个dynamic的IP地址,你会想要更新的域名一起去。 DynDNS(dyndns.com)可能是这种解决scheme最为人所知和值得信赖的提供商。
在设置结束时,有人应该能够通过指定完整的 URL来访问您的网站。 为了强制浏览器不尝试使用其他协议,必须指定“http”,即使使用域名也必须指定端口。
例子: