2016-01-22 77 views
0

我有兩臺服務器。例如,讓我們稱它們爲域名爲www.server-a.com的SERVER-A和域名爲www.server-b.com的SERVER-B。我的代碼庫是用magento和laravel編寫的。兩個域或子域之間的通信沒有url重寫

現在我的要求是,當我訪問www.server-a.com/example時,它實際上是從www.server-b.com/example呈現頁面而無需重寫URL。

重定向是一個不錯的選擇,但由於我不能阻止當前的網址,因爲很多seo都與它有關,所以我想創建一個備用選項。

我檢查了很多這種溝通的選項,但從某種角度或其他角度看,所有選項似乎都不完整。 檢查的選項有:

  1. 通過IFRAME加載外部頁面。
  2. 使用php fopen(www.server-b.com)。
  3. 使用jsonp或document.domain進行CORS通信。
  4. 的想法告訴了兩個服務器之間實現第三層可以讓他們通過內部溝通本身(與node.js的等幫助 - >仍試圖找出在那裏我可以用這個去) 等

但他們都沒有給我我需要的決議。是他們真正的一種方式,我只需在url中輸入www.server-a.com/example,而加載的頁面實際上來自www.server-b.com/example,而無需重寫url或讓用戶知道他有離開他登陸的原址。

注意: - 在這種情況下,我是兩臺服務器的擁有者。另外,可以根據需要將單獨的域更改爲子域。請隨時對基本配置進行任何調整以達到要求。

回答

0

國防部代理

在服務器A上apache配置

ProxyPass /example http://www.server-b.com/example 
ProxyPassReverse /example http://www.server-a.com/example 

第一行:在服務器一個的每個請求/例子進行重定向到http://www.server-b.com/example 第二行:當服務器-B應答請求,網址顯示將是http://www.server-a.com/example

不要忘記,你將需要mod_proxy在apache上安裝並啓用。

+0

謝謝Joao。我也看過這種方法。但不知道它是否會重寫網址。所以你現在已經說清楚了。現在的問題是我有nginx。所以需要看看nginx和apache之間是否允許mod_proxy。無論如何非常感謝答覆。 –