簡體   English   中英

Apache向非SSL站點提供內容

[英]Apache Providing Content To Non-SSL Site

我的原始網站 - premium-web-directory.com沒有安裝SSL,但問題是不存在的域https://premium-web-directory.com使用的是https://asknoypi.com的內容。 https://asknoypi.com是我的主要網站,提供有效的SSL證書。

問題:由於不存在的https://premium-web-directory.com包含來自https://asknoypi.com的內容,因此Google會在搜索結果中對其進行索引,從而導致重復的內容問題。

來自主機提供商的消息

當帳戶具有SSL和專用IP時,對該IP上沒有SSL VirtualHost條目的域的請求將使用Apache在其相關IP的配置文件中具有的第一個SSL VirtualHost條目來提供。 在這種情況下,Apache在請求“ https://premium-web-directory.com ”時返回“ https://asknoypi.com ”SSL VirtualHost條目中的內容,因為SSL虛擬主機為“ https:// premium- web-directory.com “不存在,並且” https://asknoypi.com “SSL VirtualHost條目是第一個配置***。

我做了什么:我試圖將不存在的https://premium-web-directory.com強制為http,但仍然沒有運氣,因為我沒有在網站上安裝ssl證書。

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

為解決此重復內容問題,我可以采取哪些步驟? 我應該怎么做以防止( https://premium-web-directory.com )使用https://asknoypi.com的內容?

您可以做的最好的事情是最終安裝premium-web-directory的證書。 安裝證書后,您有多個選項 - 讓您的網站通過https工作,重定向到http或返回404 - 所有這些選項都能正常運行。

在任何一種情況下,你都需要有一個明確的“ ”或“ 默認 ”主機來捕獲對不存在的主機的所有請求,以解決這個問題。 這是關於如何做到這一點的相關答案

使用基於名稱的虛擬主機時,加載的第一個虛擬主機配置將是默認配置(源: Apache Wiki

在這種情況下,瀏覽器會抱怨錯誤的證書 - 你無法做任何事情,但至少你不會遇到搜索引擎中的內容重復問題

此主機應生成有意義的錯誤消息或只返回404.作為更高級的選項,您可以將其配置為重定向到http://以用於不支持https的主機。

正如@EugèneAdell提到您的網站似乎正在使用nginx - 無論如何,解決方案類似 - 您需要將其中一個nginx服務器標記為默認

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM