只能从本地机器访问 windows 服务器

Posted

技术标签:

【中文标题】只能从本地机器访问 windows 服务器【英文标题】:Only able to access windows server from local machine 【发布时间】:2015-06-21 19:58:39 【问题描述】:

所以总的来说,我对网络服务器还是很陌生。我很容易在 CentOS 上设置自己的,但现在我正在使用 WAMP 试用 Windows Server 2012,我在从外部计算机和网络中的其他计算机访问服务器时遇到了一些问题。

我安装了 WAMP,并对 httpd.conf 进行了一些配置。我的路由器端口已经转发,因为我刚刚在这台 PC 上使用相同的内部 IP (192.168.0.3) 设置了网络服务器。在服务器上,我可以转到 localhost 并查看该站点,或者我可以转到 192.168.0.3 并查看该站点。转到服务器的域不起作用。从我的网络中的计算机,去 192.168.0.3 也不起作用。有谁知道是什么原因造成的?感觉httpd.conf上可能有一些不正确的配置,所以我改的东西是……

ServerName http://[domain name removed].com

...

Listen *:80

...

<Directory />
    AllowOverride none
    Require all granted
</Directory>

任何建议都会很棒。

【问题讨论】:

这可能有帮助,也可能没有帮助或有答案:Cannot access wamp server on local network @crashmstr 啊!该线程中的某人建议它与防火墙相关,因此我完全禁用了我的防火墙并能够访问它。这将有助于缩小问题范围。谢谢你:) 【参考方案1】:

一些建议:

首先是您更改的部分,即

<Directory />
    AllowOverride none
    Require all granted
</Directory>

是 httpd.conf 中保护安装 Apache 的驱动器的部分。我的意思是安装 Apache 的驱动器的根目录。 您不希望允许任何访问这是黑客的乐趣。

所以改回

<Directory />
    AllowOverride none
    Require all denied
</Directory>

保护 Apache 的正常过程是拒绝访问 EVERYTHING,这就是现在所做的,然后只允许在需要的地方进行访问。因此应该是Deny

现在假设您已将您的网站放在\wamp\www 中,并且没有为您的网站设置Virtual Host您确实应该拥有您现在需要查找以httpd.conf 开头的部分用这条线

<Directory "c:/wamp/www/">

在这里你会看到这些行

#   onlineoffline tag - don't remove
    Require local

如果你把它改成

#   onlineoffline tag - don't remove
    Require all granted

然后您将被授予访问任何 IP 地址的权限,但仅限于您的站点文件夹,而不是整个驱动器。

这也可以通过使用wampmanager 菜单系统来实现:-

wampmanager -> Put Online

现在更改为ServerName http://[domain name removed].com

这应该是域名但没有http:// 位所以试试

ServerName your-domain-name.com

【讨论】:

以上是关于只能从本地机器访问 windows 服务器的主要内容,如果未能解决你的问题,请参考以下文章

从本地网络上的远程机器访问 NodeJS 服务器显示一个空白页面

nginx服务器只能在本机访问为啥

从 Windows 服务访问智能卡所需的权限

如何从远程机器访问 REST API?

从远程机器上部署的 kubernetes 仪表板服务访问本地笔记本电脑时无法访问站点问题

无法从本地机器访问 Docker 中已发布的端口