Redirect

將多個站點(HTTP 和 HTTPS)重定向到單個頁面(ngxin - ubuntu)

  • January 13, 2016

我目前有一個浮動 IP 指向託管多個站點的伺服器,其中一些站點使用 SSL,其他站點則沒有。

我需要關閉、備份和調整所述伺服器的大小 - 並且希望在小型 VPS 實例上設置一個簡單的保留頁面 - 交換浮動 IP,擷取所有流量並重定向。

我使用’servername _‘作為萬用字元來擷取所有域名,但是(儘管埠已打開)-我無法訪問HTTPS地址的站點-並且當我添加了基於方案的重定向時(指向HTTP) - 這似乎沒有任何效果?

非常感謝任何幫助。我想這可能是一個相對簡單的 nginx 伺服器塊。

根據評論,如果您想擷取 HTTPS 上的流量,您必須定義一個伺服器塊,為相關域提供正確的 SSL 證書。SSL 協商發生在您可以向瀏覽器發送重定向之前,如果 nginx 無法為域提供有效證書,則會出現錯誤。

您只需要一個監聽 80 埠的伺服器塊即可擷取所有 HTTP 並為您的靜態保存頁面提供服務;您甚至不需要聲明 server_name ,因為它可能是唯一與埠 80 流量匹配的塊(或者您可以使用listen 80 default_server;它,以便如果您正在為其他需要保持獨立的域提供服務,那麼它肯定會被其他未擷取的流量使用)。

我個人建議,對於每個 ssl 伺服器塊,您直接提供保留頁面,而不是重定向到提供該頁面的另一個域(甚至非 https 相同域),如果只是為了避免混淆 google 和其他正在抓取您的搜尋引擎域。

引用自:https://serverfault.com/questions/748102