正在加载中...

关闭
请选择需要拨打的号码
关闭
请根据问题类型选择QQ咨询

LINUX服务器apache禁止使用独立IP访问网站的实现方法

LINUX服务器apache禁止使用独立IP访问网站的实现方法
<1;p>1;用apache搭建的WEB服务器,如何让网友只能通过设定的域名,而不能直接通过服务器的IP地址呢,有两个方法可以实现(当然肯定还会有其他方法可以实现),都是修改httpd.conf文件来实现的,下面举例说明:     <1;/p>1;<1;p 1;style="1;text-indent:2em;"1;>1;方法一:在httpd.conf文件最后面,加入以下代码<1;br 1;/>1; <1;span 1;style="1;color:#0000ff"1;>1;NameVirtualHost 221.*.*.*<1;br 1;/>1;     <VirtualHost 221.*.*.*><1;br 1;/>1;     ServerName 221.*.*.*<1;br 1;/>1;     <Location /><1;br 1;/>1;        Order Allow,Deny<1;br 1;/>1;    Deny from all<1;br 1;/>1;  </Location><1;br 1;/>1;     </VirtualHost><1;/span>1;    <1;br 1;/>1;     <1;span 1;style="1;color:#ff0000"1;>1;<VirtualHost 221.*.*.*><1;br 1;/>1;     DocumentRoot "c:/web"<1;br 1;/>1;     </VirtualHost><1;/span>1;<1;br 1;/>1;<1;br 1;/>1;   说明:蓝色部分是实现拒绝直接通过221.*.*.*这个IP的任何访问请求,这时如果你用221.*.*.*访问,会提示拒绝访问。红色部分就是允许通过www.wanweiwang.cn这个域名访问,主目录指向c:/web(这里假设你的网站的根目录是c:/web)<1;br 1;/>1;<1;br 1;/>1;   方法二:在httpd.conf文件最后面,加入以下代码<1;br 1;/>1;<1;br 1;/>1;<1;span 1;style="1;color:#0000ff"1;>1;     NameVirtualHost 221.*.*.*<1;br 1;/>1;     <VirtualHost 221.*.*.*><1;br 1;/>1;     DocumentRoot "c:/test"<1;br 1;/>1;<1;br 1;/>1;     </VirtualHost> <1;/span>1;    <1;br 1;/>1;<1;span 1;style="1;color:#ff0000"1;>1;     <VirtualHost 221.*.*.*><1;br 1;/>1;     DocumentRoot "c:/web"<1;br 1;/>1;     ServerName www.wanweiwang.cn<1;br 1;/>1;       </VirtualHost><1;/span>1;    <1;br 1;/>1;<1;br 1;/>1;   说明:蓝色部分是把通过221.*.*.*这个IP直接访问的请求指向c:/test目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。红色部分的意思跟方法一是一样的。<1;br 1;/>1;<1;br 1;/>1;方法三:在httpd.conf文件最后面,加入以下代码<1;br 1;/>1;  <1;br 1;/>1;<Directory  "/var/www"><1;br 1;/>1;Options Indexes FollowSymLinks<1;br 1;/>1;AllowOverride None<1;br 1;/>1;Order  deny,allow<1;br 1;/>1;Deny from 192.168.1.99       <1;br 1;/>1;</Directory><1;br 1;/>1;<1;br 1;/>1;方法四:<1;br 1;/>1;  如题,主要修改httpd.conf 或者httpd-vhosts.conf文件。先给出来源网络的可行答案。<1;br 1;/>1;<1;br 1;/>1;<VirtualHost *:80><1;br 1;/>1;ServerName *<1;br 1;/>1;<Location /><1;br 1;/>1;Order deny,allow<1;br 1;/>1;Deny from all<1;br 1;/>1;</Location><1;br 1;/>1;</VirtualHost><1;br 1;/>1;<1;br 1;/>1;<VirtualHost *:80><1;br 1;/>1;ServerName www.abc.com<1;br 1;/>1;。。。。<1;br 1;/>1;。。。。<1;br 1;/>1;</VirtualHost><1;br 1;/>1;<1;br 1;/>1;*号代表监听那个IP地址。<1;br 1;/>1;为了使用基于域名的虚拟主机,你必须指定服务器IP地址(和可能的端口)来使主机接受请求,这个可以用<1;code 1;class="1;directive"1;>1;NameVirtualHost<1;/code>1;指令来进行配置。如果服务器上所有的IP地址都会用到,你可以用"<1;code>1;*<1;/code>1;"作为<1;code 1;class="1;directive"1;>1;NameVirtualHost<1;/code>1;的参数。<1;br 1;/>1;根据文档上的说明:<1;br 1;/>1;# The first VirtualHost section is used for all requests that do not<1;br 1;/>1;# match a ServerName or ServerAlias in any <VirtualHost> block.<1;br 1;/>1;<1;br 1;/>1;所以,只有匹配到www.abc.com的域才会被处理,其他不匹配就默认使用第一个VirtuHost段来处理,这里也即为deny。<1;br 1;/>1;<1;br 1;/>1;其中Order deny,allow命令中,Order作用是改变deny 和allow的执行顺序。先执行deny再执行allow。<1;br 1;/>1;<1;br 1;/>1;<1;code 1;class="1;directive"1;>1;ServerAlias<1;/code>1;指令中列出的名字就是用户可以用来访问同一个web站点的其它名字:<1;br 1;/>1;  <1;br 1;/>1;方法五:修改httpd.conf<1;br 1;/>1;  <1;br 1;/>1;NameVirtualHost *:80之后加上<1;br 1;/>1;  <1;br 1;/>1;<VirtualHost *:80><1;br 1;/>1;ServerName *<1;br 1;/>1;<Location /><1;br 1;/>1;Order deny,allow<1;br 1;/>1;Deny from all<1;br 1;/>1;</Location><1;br 1;/>1;</VirtualHost><1;br 1;/>1;放在<VirtualHost *:80>之前<1;br 1;/>1;<1;br 1;/>1;注:修改后要重启apache<1;br 1;/>1;<1;/p>1;

返回上一页