標籤:nginx apache只允許網域名稱訪問詳細配置
Nginx,Apache只允許網域名稱訪問詳細配置
一、nginx配置只允許網域名稱訪問
# 設定不允許Ip訪問web(default_server)
server {
listen 80 default_server;
server_name _;
return 403;
}
# 設定www.meteor-yu.com網域名稱訪問web
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;
}
二、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:以上這隻是簡易配置,根據需求自行添加相應配置
本文出自 “流星宇” 部落格,請務必保留此出處http://8789878.blog.51cto.com/8779878/1846945
Nginx,Apache只允許網域名稱訪問詳細配置