Nginx禁止其他域名訪問
我的伺服器使用Nginx搭建, 現在有一個場景如下:
A.com的A記錄指向a.b.c.d B.com的A記錄指向a.b.c.d我的Nginx設定
listen a.b.c.d:80 default; server_name A.com;目前訪問B.com時也會預設開啟我的站點, 並且站內資源也可正確被引用.
請問如何配置能夠讓B.com及其他域名無法訪問?
我瞭解如果加入一條判斷if{}可以把其他域名返回錯誤程式碼, 但如果有多個vhost, 配置起來會比較麻煩. 有沒有更優雅, 通用的方式?
=========================解決辦法分割線==========================
可以在Nginx上設定禁止通過IP訪問伺服器,只能通過繫結域名訪問(同時設定未繫結域名返回500錯誤或者跳轉到我滴域名首頁)
方法比較簡單,
開啟nginx.conf
step1 繫結網站域名
在server段server_name行 新增域名
server { listen 80; server_name qaplus.cn www.qaplus.cn; index index.html index.htm index.php; root /data/htdocs/www; }step2 設定禁止IP及未繫結域名訪問
加入以下程式碼到配置檔案中(整段)
①返回500錯誤
server { listen 80 default; server_name _; return 500; }②跳轉到自己域名首頁
server { listen 80 default; server_name _; rewrite ^(.*) http://www.qaplus.cn permanent; }step3 重啟nginx
這樣,未在nginx內繫結的域名及ip訪問時將返回500錯誤或者跳轉到本人域名首頁.
相關推薦
Nginx禁止其他域名訪問
我的伺服器使用Nginx搭建, 現在有一個場景如下: A.com的A記錄指向a.b.c.d B.com的A記錄指向a.b.c.d 我的Nginx設定listen a.b.c.d:80 default; server_name A.com; 目前訪問B.com時也會預設開啟
nginx禁止特定IP訪問
nginx在server段添加一些代碼if ( $http_clientip = 106.120.173.120 ) { return 403;}如果使用反向代理,使用deny禁止ip訪問不會生效。參考博文:https://www.cnblogs.com/saneri/p/6257188.htmlngin
nginx 禁止惡意域名解析
def col listen list cat name ssl style In server { listen 443 default_server; server_name _; ssl on; ssl_certificate /et
Nginx配置多域名訪問設定
就是在同一臺伺服器配置多個域名訪問不同的專案,apache的話直接在vhosts.conf檔案裡面新增一個解析就成,但是nginx的話不單單新增一個vhosts解析,並且還要在conf配置檔案裡面新增上一段配置才行。 location /TestAdmin/ { index index.php; tr
nginx 怎麼通過域名訪問8080埠(指定埠)
進入到nginx目錄下,開啟nginx.conf http { server { listen 80; server_name exampl
Linux 學習筆記 6 搭建nginx 實現二級域名訪問
前言 在前一節的內容裡面,我們學習瞭如何使用yum 包管理工具來安裝我們需要的軟體,這節內容,通過搭建Nginx 反向代理伺服器,以及學習服務的配置等內容。 NGINX Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協議下發行。其特點是佔
Nginx 禁止IP訪問 只允許域名訪問
nginx 禁止ip訪問 只允許域名訪問今天要在Nginx上設置禁止通過IP訪問服務器,只能通過域名訪問,這樣做是為了避免別人把未備案的域名解析到自己的服務器IP而導致服務器被斷網,從網絡上搜到以下解決方案我們在使用的時候會遇到很多的惡意IP攻擊,這個時候就要用到Nginx 禁止IP訪問了。下面我們就先看看N
Nginx禁止未綁定域名和IP訪問443端口
href ofo 配置 http 開啟 ssl證書 turn 綁定 配置https 問題:例,a.xxx.com 開啟了https,訪問https://a.xxx.com ,正常,訪問未配置https的域名,如 https://b.xxx.com 會打開https://a.
nginx禁止IP只允許域名訪問
ali list end default remote name 其他 .com listen upstream jenkins{ server 127.0.0.1:8080; } server {
[備忘]Nginx 禁止IP訪問及未繫結的域名跳轉
轉載自: http://www.linuxidc.com/Linux/2011-04/34368.htm 今天要在Nginx上設定禁止通過IP訪問伺服器,只能通過域名訪問,這樣做是為了避免別人把未備案的域名解析到自己的伺服器IP而導致伺服器被斷網,從網路上搜到以下解決方案: Ngin
配置server禁止全部非法域名 訪問自己的server
roo index.php server director set .com family htm multipl 1、Apache2.4.1曾經: 第一種 直接拒絕訪問 打開 httpd.conf 文件,將一下配置追加到文件最後。 #直接拒絕全部非法域名 <
配置 Apache 服務器禁止所有非法域名 訪問自己的服務器
star ide yun imp span toml tor service sim 1、http2.4.1以前: 第一種 直接拒絕訪問 打開 httpd.conf 文件,將一下配置追加到文件最後。 <pre name="code" class="html"&
[nginx]禁止訪問目錄下的某些擴展名文件
connect sse gpo ati AR oot windows body HR 禁止訪問目錄下的某些擴展名文件 這次我測一下,禁止訪問網站目錄下的 html/images/*.txt文件 [root@n1 nginx]# tree html/ html/ ├── 50
nginx反向代理、負載均衡配置與linux環境下的安裝及通過ip和域名訪問nginx
本文主題: 一、什麼是nginx 二、nginx的應用場景 三、linux環境下nigix的安裝 四、nginx配置虛擬機器(ip、域名) 五、nginx實現反向代理 六、nginx實現負載均衡 一、什麼是nginx 1、http伺服器(通過nginx配置檔案配置
nginx通過域名訪問專案(不接專案名稱),cookie丟失問題
最近搞了個域名,想用它直接去訪問Tomcat上部署的專案,開始一直必須加上專案名稱,經過短暫配置,成功了。 訪問一次,到達登陸頁面,結果死活登入不進去,一直在登陸介面,原來是由於cookie丟失,現配置如下,完美解決問題: server { listen
(單機demo)將一個專案靜態原型部署到nginx上面,修改hosts檔案,使用域名訪問專案
(單機demo)將一個專案部署到nginx上面,修改hosts檔案,使用域名訪問專案 安裝nginx,網上教程一大推,就不囉嗦了 進入nginx修改nginx安裝目錄下的nginx.conf檔案,新增如下內容 修改alias 後面靜態資源的位置,修改server_name
在nginx環境下,直接用域名訪問(首頁)
①: server { listen 80; server_name www.njm1.com; location = / { #=/規則可以直接訪問域名。如:www.njm1.com。跳轉到http://192.168.177.132:8080
nginx 禁止瀏覽器(www.xxxxx.com.cn/test/)訪問目錄,允許本地去訪問目錄和目錄中檔案
location ^~ /test { return 404; } 解釋:location ^~ 匹配瀏覽器的域名 區分大小寫 &nb
Windows下配置Nginx本地對映多域名訪問多
引言 最近在玩nginx,因為電腦是windows系統,也不想折騰再裝一個centos,所以直接在windows上配置的WNMP 環境,然後想把一起寫的放在xampp裡面的專案都遷移到新環境下,但是遇到
使用域名訪問本地專案and nginx解決埠問題
使用域名訪問本地專案 域名解析 一個域名一定會被解析為一個或多個ip。這一般會包含兩步: 本地域名解析 瀏覽器會首先在本機的hosts檔案中查詢域名對映的IP地址,如果查詢到就返回IP ,沒找到則進行域名伺服器解析,一般本地解析都會失敗,因為預設這個檔案是空