我有一個在Intranet中工作的兩臺服務器的配置。 第一個是爲瀏覽器生成html頁面的web服務器,這個html發送請求到第二個服務器,根據一些GET參數的值生成並返回報告(也是html)。 由於這個解決方案是不安全的(傳遞的參數是暴露的),我想過讓由第一個服務器生成的html將報告請求發送回第一個服務器,在那裏進行安全檢查,請求報告將在服務器之間使用http發送到報告服務器,而不是從瀏覽器到服務器。
報告的標記將返回到第一個服務器(作爲字符串?),添加到響應對象並呈現在瀏覽器中。 這是http的常見做法嗎?在服務器之間使用http協議
1
A
回答
1
是的,這是一種常見的做法。事實上,當你的web服務器需要從數據庫中獲取一些數據時(不公開的 - 例如不在web服務器的DMZ中),它的工作原理是一樣的。
但是你需要能夠使用動態頁面生成(不是靜態的html。假設你的web服務器允許PHP或者java)。
你的頁面做一個HTTP GET(或POST,或任何你喜歡)做你的第二個服務器,發送你需要的任何必需的參數相當。您可以使用捲曲庫,或的fopen(HTTP://)等
它接收到的結果,檢查返回代碼,也可以做optionnal內容操作(如更換一些文字或網址)
它將結果發送回用戶的瀏覽器。
如果你不能(或不會)使用動態頁面生成,你可以配置你的Web服務器來代理一些請求到第二服務器(例如使用Apache的mod_proxy)。
例如,當請求到達服務器1的URL「http:// server1/reports」時,web服務器將請求代理爲「http:// server2/internal/reports?param1 = value1 & param2 = value2 &等「。
用戶將得到的結果的「http://服務器2 /內部/參數1報告=值1 &參數2 =值2 &等」,但絕不會從它從何看(從他的角度來看,他只知道http://server1/reports)。 您可以執行更復雜的操作,將代理與URL重寫相關聯(因此您可以在對server2的請求中使用請求的一些參數到server1)。
如果不夠清楚,不要猶豫,給更多的細節(o/s,web服務器技術,網址等),所以我可以給你更多的提示。
0
另外兩個選項:
- 配置面向Internet的HTTP服務器與代理(例如 的mod_proxy在Apache中)
- 離開服務器,因爲它是並添加應用程序Firewal
相關問題
- 1. 聊天服務器的HTTP協議
- 2. 使用Javascript通過HTTP協議以外的協議連接服務器
- 3. 使用http協議將用戶數據發送到服務器
- 4. python socket服務器使用http協議傳輸空文件
- 5. 使用http協議將位圖上傳到服務器
- 6. 強制bazaar客戶端協議使用服務器協議2?
- 7. Python - asyncio協議/服務器之間的通信
- 8. Apache服務器協議
- 9. VisualSVN服務器的協議
- 10. 瞭解服務器協議
- 11. REST Web服務和HTTP協議
- 12. 應用服務器通信協議
- 13. WebDav協議VS HTTP協議
- 14. mysql_connect()使用http協議
- 15. 使用帶有加密的HTTP協議實現WCF服務
- 16. 在類和視圖控制器之間使用協議Swift 3
- 17. WCF Web服務錯誤:「服務端點綁定不使用HTTP協議」?
- 18. 哪個協議用於客戶端和服務器之間的遊戲通信
- 19. 如何跟蹤服務器上的Http協議
- 20. 如何從本地服務器發送HTTP協議C
- 21. AJAX自定義服務器的HTTP協議響應問題
- 22. 在HTTP協議中使用api密鑰
- 23. 字符編碼在HTTP://和FILE://協議之間是不同的?
- 24. 基本服務器協議關係
- 25. 客戶端服務器,設計協議
- 26. Anymote協議服務器實現
- 27. LDAP服務器簽名協議
- 28. LifecycleException服務器SSL協議無效
- 29. 協議錯誤套接字服務器
- 30. http協議的http適配器