2014-04-12 101 views
0

我有一個域,我轉發到服務器。我通過godaddy獲得了域名,並且可以選擇轉發,或者通過掩碼轉發。我選擇使用掩碼轉發,因爲只是轉發會導致帶有服務器IP的url。例如:IP轉發/屏蔽

192.121.1.1/html/index.html 

而使用掩碼轉發會導致域名顯示而不是IP,但它不會反映URL中的導航。例如

domainName.com/ 

但隨後上導航到另一個頁面我仍然會得到相同的基本URL時,我希望更多的東西像這樣

domainName.com/path/to/file.html 

的一個問題是,在刷新從任何頁面該網站將加載domainName.com頁面,而不是用戶想要刷新的頁面。

什麼人可以解釋什麼轉發IP地址呢?而掩蓋它呢?有沒有一種方法可以避免這種行爲,只需將的域名取得到文件的路徑?

回答

1

最有可能的是,「帶屏蔽的轉發」意味着轉發服務器始終處於活動狀態 - 爲該網頁的客戶端提供「隱藏幀」。該框架是在爸爸服務器上管理的,框架本身只是加載您的實際可見的頁面。這通常會導致許多問題 - 錯誤警告,使用多個DNS主機時的問題(特別是在內部使用時)。

我會堅持與正向沒有掩蔽。只需在您的子域中創建一個A記錄(如server1.domainname.com),並將其IP地址作爲轉發服務器的地址。

這裏真正的問題是服務器在用戶的URL欄中顯示IP地址,而不是其DNS名稱。這意味着您可能擁有一個正在調用實際IP地址的Web應用程序(或您的Web應用程序的某個組件)。你可能知道這一點,但使用固定IP地址是一個壞主意,並會導致問題的發展 - 特別是如果你掩蓋了網址欄

0

我們剛剛遇到了同樣的問題,並花了幾分鐘的時間才找出解決方案 - 正如前面的答案中所指出的,GoDaddy利用框架機制,但是,爲了安全(我們沒有任何明確的配置),我們的服務器發回一個X-Frame-Options設置爲阻止的頭(如果打開一個chrome調試窗口並查看網絡數據包,可以看到這一點)。對於這個特定的網站,我們在nginx服務器後面運行基於sinatra的ruby應用程序。我們的解決方案是修改nginx.conf文件以從傳出響應中刪除X-Frame-Options標頭。 所以,基本上,在GoDaddy的有: 域:http://71.168.231.129:8903/mypage(forward與蒙)

和nginx的的c​​onf我們 位置@app { proxy_set_header X - 轉發,對於$ proxy_add_x_forwarded_for; proxy_set_header主機$ http_host; proxy_redirect off; proxy_hide_header X-Frame-Options; #傳給上面提到的上游獨角獸服務器 proxy_pass http://unicorn_server; }