您在這裡

關於網域問題,請問如何將兩個不同網域(加密與不加密)指向相同的Drupal網站?

shawen's 的頭像
shawen 在 2014-10-21 (二) 20:53 發表

環境:windows server 2008、Apache 2.2.8、PHP 5.2.6、MySQL 5.0.51a

我在公司內部架設了Drupal來做為知識管理系統,

因為國外分公司的需求,所需要加密的設定,

原先網域名稱為:http://abc.well.com.tw,只能在公司內部網域運作,

詢問MIS公司有已經認證的加密憑證,所以MIS決定用指向的方式來進行加密,

避免對外的子網域氾濫,對外網站採加密的方式:https://sys.well.com.tw/abc

透過指向資料夾的方式運作,兩個網址我都有進行Apache的設定,

內部網域運作一切正常,但外部網域只能連到第一頁,

接下來就會出現以下錯誤:403 Forbidden,The server denied the specified Uniform Resource Locator (URL). Contact the server administrator. (12202)

我有嘗試在settings.php強制設定$base_url = 'https://sys.well.com.tw/abc';,403消失了,但是卻仍無法正常運作系統,

登錄錯誤會有錯誤訊息,登錄正確卻不會動作。內部的網域 http://abc.well.com.tw 的運作錯誤,是因為這樣處理會造成內部網路根目錄會跑到下一層,所以異想天開的在原根目錄在複製個一模一樣的abc資料夾,讓內部網域可正常運作,可惜這一切都失敗了。

也有嘗試多網站架設的方式,但一直無法成功,請問是否有高手幫忙指點一下方向,

還是,MIS與我一開始就弄錯了,根本不能這樣設置,那我想加密該怎麼辦呢???

 

想先問一下,既然你有提到多網站架設的設定,你設定的方式為何?

我目前也有管理類似你提到的架構,雖然沒有限制內部網址存取,但是分了一個 CNAME: origin 給外部取用,CNAME: edit 給內部編輯登入使用

從你的設定看來是由於改了 $base_url 造成 abc.well.com.tw 登入後,網址轉向 $base_url 設定的 sys ,造成 session 中斷
建議你試試看這個方式,應該可以把內外完全分開:

  1. 建立 sites/sys.wel.com.tw.abc 資料夾,放入 settings.php,使用 $base_url = 'https://sys.well.com.tw/abc';   以此對應 https://sys.well.com.tw/abc
  2. 建立 sites/abc.well.com.tw,使用 $base_url = 'http://abc.well.com.tw'; 

以上兩個使用同樣 db 設定