Apache-2.2
IP 地址與域一起顯示在我的 Web 伺服器上
最近我安裝了 VESTACP 和 nginx,添加了域名,一切都很好,我可以使用域訪問我的網站,而且當我從伺服器(http://11.11.11.11)輸入 IP 地址時,我可以訪問我的網站,所以有什麼避免顯示我的 IP 地址的解決方案?
謝謝你們
這是我的 nginx 配置文件:
listen 11.11.3.171:80; server_name example.com www.example.com; error_log /var/log/apache2/domains/example.com.error.log error; location / { proxy_pass http://11.11.3.171:8080; location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ { root /home/admin/web/example.com/public_html; access_log /var/log/apache2/domains/example.com.log combined; access_log /var/log/apache2/domains/example.com.bytes bytes; expires max; try_files $uri @fallback; } } location /error/ { alias /home/admin/web/example.com/document_errors/; } location @fallback { proxy_pass http://11.11.3.171:8080; } location ~ /\.ht {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} include /home/admin/conf/web/nginx.example.com.conf*; }
阿帕奇配置文件:
<VirtualHost 11.11.3.171:8080> ServerName example.com ServerAlias www.example.com ServerAdmin info@example.com DocumentRoot /home/admin/web/example.com/public_html ScriptAlias /cgi-bin/ /home/admin/web/example.com/cgi-bin/ Alias /vstats/ /home/admin/web/example.com/stats/ Alias /error/ /home/admin/web/example.com/document_errors/ #SuexecUserGroup admin admin CustomLog /var/log/apache2/domains/example.com.bytes bytes CustomLog /var/log/apache2/domains/example.com.log combined ErrorLog /var/log/apache2/domains/example.com.error.log <Directory /home/admin/web/example.com/public_html> AllowOverride All Options +Includes -Indexes +ExecCGI php_admin_value open_basedir /home/admin/web/example.com/public_html:/home/admin/tmp php_admin_value upload_tmp_dir /home/admin/tmp php_admin_value session.save_path /home/admin/tmp </Directory> <Directory /home/admin/web/example.com/stats> AllowOverride All </Directory> <IfModule mod_ruid2.c> RMode config RUidGid admin admin RGroups www-data </IfModule> <IfModule itk.c> AssignUserID admin admin </IfModule> IncludeOptional /home/admin/conf/web/apache2.example.com.conf* </VirtualHost>
由於域名系統只是將(域名)名稱解析為其 IP 地址的協議,因此您無法真正隱藏您的地址。
但是您可以使用 nginx 僅使用適當的名稱來回答請求。
在您的 nginx.conf(或站點配置)中檢查
listen
andserver_name
指令:server { listen 80; server_name yourserver.com www.yourserver.com; ... }
在 Nginx 配置文件中,您可以擁有多個伺服器“{}”塊。傳入的請求與
server_name
指令匹配 - 以自上而下的方式。在多個伺服器塊的情況下,如果請求是針對一個不存在的域,那麼它將始終由第一個伺服器塊處理。
如果您想阻止來自任何其他(又名“未被現有塊擷取”)地址的請求,只需添加以下伺服器塊來擷取它們:
server { listen 80 default_server; server_name _; return 444; }
設置
server_name
為_
意味著“預設”或“匹配所有”。響應程式碼444
,返回為“NO RESPONSE”,這是一個特殊的nginx 非標準,會立即關閉連接。