2011-08-08 92 views
3

我的服務器server.example.com無法從Internet訪問。 但是,有一個可訪問的HTTP代理proxy.example.com,可以與服務器通信。客戶端JavaScript可以使用自己的HTTP代理嗎?

如果用戶配置他們的瀏覽器要經過proxy.example.com對於* .example.com的,或使用我提供一個代理自動配置文件,他們可以(與代理驗證後)訪問服務器。我想避免讓他們經歷這個手動過程。

是否有可能以編程方式執行此操作? JavaScript將通過可訪問互聯網的www.example.com網站提供,因此看起來沒有安全問題,原則上不可能做到這一點。

我的約束是proxy.example.com是HTTP代理,我不能觸摸它。我只控制server.example.com和www.example.com,而我的網絡應用只能在server.example.com上運行。

回答

6

沒有,但...

這是不可能的,你問的方式。但是,通過使用打開URL鏈接代理的地址的iframe也可以實現相同的目的。在你的例子中,你必須呼叫以下地址(如果你的代理允許URL鏈接)

http://proxy.example.com/http://server.example.com 

我希望有幫助。

歡呼聲, 邁克爾

2

不,你不能使用Javascript設置代理。

似乎沒有成爲一個安全問題

任意JavaScript改變瀏覽器的設置是一個安全問題。

+0

現在的問題是,是否可以通過設置全局瀏覽器設置以某種方式完成此特定網站。 –

+0

@Adam http代理是所有主流瀏覽器中的全局瀏覽器設置。 ** willsteel **給了你一個解決方法,但這不是標準的代理行爲。 – Vlad

相關問題