Nginx,Apache只容许域名访问详细配置html
1、nginx配置只容许域名访问nginx
# 设置不容许Ip访问web(default_server)web
server {apache
listen 80 default_server;服务器
server_name _;负载均衡
return 403;ide
}网站
# 设置www.meteor-yu.com域名访问webspa
server {server
listen 80;
server_name www.meteor-yu.com;
location /ngx_status {
stub_status on;
access_log off;
}
location /status {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
}
}
#######
# 设置经过访问顶级域名meteor-yu.com自动跳转到www.meteor-yu.com这个域名
server {
listen 80;
server_name meteor-yu.com;
return 301 http://www.meteor-yu.com$request_uri;
}
2、Apache配置只容许域名访问
# 用Apache搭建的WEB服务器 如何设置只能经过域名访问 禁止使用ip访问的方法
# 目前经常使用Apache与Nginx来搭建的WEB服务器,一般搭建好以后使用IP也能够访问网站的内容,
# 那对于Apache搭建的WEB服务器如何让网友只能经过设定的域名访问,而不能直接经过服务器的IP地址访问呢?
# 两个方法能够实现,都是修改httpd.conf文件来实现的,下面举例说明。
### 方法一:在httpd.conf文件最后面,加入如下代码
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 192.168.116.129 # web服务地址
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName www.meteor-yu.com
</VirtualHost>
说明:红色部分是实现拒绝直接经过IP的任何访问请求,这时若是你用IP访问,会提示拒绝访问。蓝色部分就是容许经过www.meteor-yu.com这个域名访问,主目录指向/var/www/html
### 方法二:在httpd.conf文件最后面,加入如下代码
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/var/www/html/default"
ServerName 192.168.116.129 # web服务地址
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName www.meteor-yu.com
</VirtualHost>
说明:把全部经过IP直接访问的请求指向/var/www/html/default目录下,这能够是个空目录,也能够在里面建一个首页文件,如index.hmtl,首面文件内容能够是一个声明,说明不能经过IP直接访问。
注意:
1. 直接复制粘贴的话可能会带有中文空格,请把这些多余的空格去掉。
2. 若是使用了负载均衡,限制的IP不要写外网IP,请填写内网IP。
###########
# 设置经过访问顶级域名meteor-yu.com自动跳转到www.meteor-yu.com这个域名
# 开启apache rewirte功能
打开httpd.conf,找到
# LoadModule rewrite_module modules/mod_rewrite.so
把#去掉
找到AllowOverride None 改为 AllowOverride All
# 在httpd.conf文件最后面,加入如下代码
<VirtualHost *:80>
ServerName meteor-yu.com
RedirectMatch ^/(.*)$ http://www.meteor-yu.com/$1
</VirtualHost>
PS:以上这只是简易配置,根据需求自行添加相应配置