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:以上這只是簡易配置,根據需求自行添加相應配置