Web服务器ip访问配置参考


在对web服务器的配置中,会有对ip访问的控制,(半)开放或禁止访问,只能通过设定的域名访问,而不能直接通过服务器的IP地址访问,这里分别对apache和nginx这两个主流web服务器的进行了配置说明。
Apache
有两个方法可以实现,都是修改httpd.conf文件来实现的,下面举例说明。
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost *:80
ServerName 222.xxx.xxx.xxx
DocumentRoot /xxx/xxx
Order Allow,Deny
Deny from all
---------或者--------
NameVirtualHost *:80
ServerName 222.xxx.xxx.xxx
Order Allow,Deny
Deny from all
说明:上面部分是实现拒绝直接通过222.*.*.*这个IP的任何访问请求,这时如果你用222.*.*.*访问,会提示拒绝访问。
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 222.*.*.*:80
DocumentRoot "/var/www/"
ServerName 222.*.*.*
DocumentRoot "/var/www/"
ServerName 3w.freeoa.net
说明:通过222.*.*.*这个IP直接访问的请求指向"/var/www/"目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。
修改后要重置apache。
-------------------------
Nginx
nginx 的设定和httpd类似,都是第一个服务器作为默认的服务器,除非明确指定某个服务器的状态为 default
server {
listen 80 default;
server_name _;
location / {
root html;
index 403.html;
}
}
有时我们并不希望客户端收到403的禁止信息,可能404更有迷惑性,则可以如下设置:
server {
listen 80 default;
server_name _;
location / {
root html;
#index 403.html;
return 404;
}
}
nginx use a default page for non-domains
nginx下配置基本ip直接访问
server {
listen 80 default;
server_name _;
root /var/www/default/;
}
禁止根默认页的访问,仅开放某些目录或别名的访问。
server {
listen 80 default;
server_name _;
location / {
return 403;
}
location /sf {
alias /home/freeoa/sf;
autoindex on;
}
}
Apache
有两个方法可以实现,都是修改httpd.conf文件来实现的,下面举例说明。
方法一:在httpd.conf文件最后面,加入以下代码
NameVirtualHost *:80
ServerName 222.xxx.xxx.xxx
DocumentRoot /xxx/xxx
Order Allow,Deny
Deny from all
---------或者--------
NameVirtualHost *:80
ServerName 222.xxx.xxx.xxx
Order Allow,Deny
Deny from all
说明:上面部分是实现拒绝直接通过222.*.*.*这个IP的任何访问请求,这时如果你用222.*.*.*访问,会提示拒绝访问。
方法二:在httpd.conf文件最后面,加入以下代码
NameVirtualHost 222.*.*.*:80
DocumentRoot "/var/www/"
ServerName 222.*.*.*
DocumentRoot "/var/www/"
ServerName 3w.freeoa.net
说明:通过222.*.*.*这个IP直接访问的请求指向"/var/www/"目录下,这可以是个空目录,也可以在里面建一个首页文件,如index.hmtl,首面文件内容可以是一个声明,说明不能通过IP直接访问。
修改后要重置apache。
-------------------------
Nginx
nginx 的设定和httpd类似,都是第一个服务器作为默认的服务器,除非明确指定某个服务器的状态为 default
server {
listen 80 default;
server_name _;
location / {
root html;
index 403.html;
}
}
有时我们并不希望客户端收到403的禁止信息,可能404更有迷惑性,则可以如下设置:
server {
listen 80 default;
server_name _;
location / {
root html;
#index 403.html;
return 404;
}
}
nginx use a default page for non-domains
nginx下配置基本ip直接访问
server {
listen 80 default;
server_name _;
root /var/www/default/;
}
禁止根默认页的访问,仅开放某些目录或别名的访问。
server {
listen 80 default;
server_name _;
location / {
return 403;
}
location /sf {
alias /home/freeoa/sf;
autoindex on;
}
}
该文章最后由 阿炯 于 2014-03-17 17:20:42 更新,目前是第 2 版。