Nginx
如何防止其他人將自己的域proxy_pass到我的域?
人們可以使用 Nginx代理_pass到我的域,在瀏覽器上,內容是我的,但在地址欄上是他們的域。
如何檢測請求何時通過’proxy_pass 並拒絕這些請求?
例如,當我故意 proxy_pass 到 google.com 時,我收到 404 錯誤。
server { listen 80; server_name test.com; location / { proxy_pass https://google.com; } }
似乎無法阻止這種情況,例如那些人使代理的行為就像普通瀏覽器一樣。但是,如果他們只使用一個簡單的 Nginx proxy_pass,如何防止呢?
從理論上講,您可以,但並非沒有很多努力。
假設您正在執行一個支持 HTTP/2 的網站。
檢測
proxy_pass
到您的網站可以建立在這些連接將始終源自HTTP/1.x
而不是通過HTTP/2
.然後,您可以將其與瀏覽器功能相匹配。
因此,基本上,如果您看到支持 HTTP/2 的瀏覽器通過舊的 HTTP/1.x 協議連接到您的網站,您可以放心地假設它是通過 NGINX
proxy_pass
或其他一些代理(NGINX 除外)。因此,儘管這可行,但您會切斷所有僅通過某種代理瀏覽的客戶端…
那是被動的方法。
主動方法只是檢查來自同一 IP 地址的多個連接。您將檢查日誌(例如 Fail2ban 或其他日誌掃描程序)是否有來自同一 IP 地址的許多連接,具有不同的使用者代理(或沒有)。
具有許多不同使用者代理/訪問權限的 IP 地址可能是某種代理。
最後,您可以進行 RDNS 檢查/whois 查詢以查看請求是否來自已知的託管服務提供商。