开发者社区> 问答> 正文

在win主机上的apache如何禁止通过IP直接访问,只能域名访问?

在win主机上的apache如何禁止通过IP直接访问,只能域名访问?
大家好!我的ECS实例使用的是护卫神的镜像系统,是windows系统,但是建站采用的是护卫神镜像系统中提供的apache功能,因此属于win主机下的apache。
目前我想我的网站比如www点abc点com只能通过该域名进行访问,比如公网IP是23.31.234.12,我想禁止用户通过公网IP进行访问来防止恶意解析。
因为是win主机下的apache,有点特殊,我尝试了网上我找到的各种方法,依然无法阻止通过IP进行访问网站。我该怎么办呢?
希望能有热心的大神前来指导,不胜感激!

展开
收起
雪山凌狐 2017-06-23 03:39:30 5485 0
3 条回答
写回答
取消 提交回答
  • 程序就是我的人生!
    关闭服务器上的泛域名解析
    2017-06-24 08:33:17
    赞同 展开评论 打赏
  • 欢迎大家到我的个人主页学习雪山凌狐教程
    回 1楼魔咒626的帖子
    该方法之前在百度知道看到,尝试过发现无效,现在你说了我又特意去尝试了一次,直接输入IP地址依然可以访问网站,不知道是不是需要时间进行生效的问题。我先保留,明后天再看看结果,再来讨论。感谢这位朋友的解答了。

    -------------------------

    回 3楼whosoft的帖子
    服务器并没有开启所谓的泛域名解析。您是指的要关闭80端口吗?

    -------------------------

    回 1楼魔咒626的帖子
    经过测试后,此方法无效。使用IP依然可以访问。

    -------------------------

    回 6楼魔咒626的帖子
    DocumentRoot "c:/web" 问一下这个目录是空目录还是网站所在目录?
    谢谢!
    2017-06-24 01:20:53
    赞同 展开评论 打赏
  • 用这种方法试过没,修改http.conf文件:
    <VirtualHost *:80>
    ServerAdmin 你的IP地址
    DocumentRoot "D:/WWW/ROOTNoSite"
    DirectoryIndex index.html index.htm
    <Directory "D:/WWW/ROOT/NoSite">
    AllowOverride None
    Options Indexes FollowSymLinks
    Order Deny,Allow
    Allow from all
    </Directory>
    </VirtualHost>
    这样通过IP,或者没有在配制时添加的域名就直接访问到NoSite目录下面,NoSite目录下不要放置任何文件,或者把 Allow from all 修改为 Deny from all 禁止访问。

    -------------------------

    那再试一下这个方法:
    在httpd.conf文件最后面,加入以下代码
         NameVirtualHost 221.*.*.*
         <VirtualHost 221.*.*.*>
         ServerName 221.*.*.*
         <Location />
            Order Allow,Deny
            Deny from all
         </Location>
         </VirtualHost>    
         <VirtualHost 221.*.*.*>
         DocumentRoot "c:/web"
         ServerName www.webjx.com
         </VirtualHost>

    2017-06-23 08:09:13
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Flink技术进阶 立即下载
Apache Spark: Cloud and On-Prem 立即下载
Hybrid Cloud and Apache Spark 立即下载

相关镜像