我並沒有做太多的客戶端網頁編程,所以我試圖把握這個概念與我的具體情況有何聯繫。正確理解具有相同主機/不同端口和安全性的CORS
我有一個運行在50000s端口上的RESTful WCF服務。另外,我有一堆用HTML5/CSS3/JavaScript編寫的Web表單(不是ASP WebForms),它們可以對此WCF服務進行AJAX調用。 Web表單託管在同一主機上,但正在使用端口80.由Web表單所做的AJAX調用僅爲GET
請求。
此外,我有一個第三方雲託管的應用程序位於完全不同的位置(不同的主機),它也需要調用WCF服務。此通信將執行POST
s & PUT
s到WCF服務。
很明顯,第三方託管的雲應用程序調用是跨源的。從我的研究看來,不同的港口實際上是不同的起源。
我知道,安全& CORS是不同的概念,但在這裏就是我試圖完成,我需要更好地瞭解這一切是如何工作的:
現在,我讓所有的跨域請求,一切正在工作,但我想限制它以提高安全性,然後最終使用傳輸安全性設置HTTPS,同時使用相同證書的兩個Web表單& WCF服務。第三方雲服務託管應用程序仍然需要能夠與WCF服務進行通信,因此我需要允許它進行不同的身份驗證,以便在使用祕鑰的情況下進行身份驗證,因爲一切都是服務器端只要。
這整個溝通「三角」對我來說都感覺很模糊,我希望SO是我發佈這個問題的正確地方,因爲它不直接與代碼相關。
- 上面描述的WCF - web表單情況是否被認爲是交叉來源?
- A)如果上述不是交叉原點,那麼我是否只需要在我的web.config中通過
Access-Control-Allow-Origin: 'https://my-cloud-host'
?
B)如果據我所知,只需要在頭中回顯允許的源頭。在這種情況下,我在IIS中爲Access-Control-Allow-Origin
設置了什麼(如果有的話)?如果不允許,我會迴應什麼,只是原始來源? - 我的想法是否使用相同的證書進行相互SSL身份驗證,如果它們託管在不同的端口上?這會阻止雲服務與WCF服務進行通信,還是讓第二個端點允許這樣做?
- 我迷失了方向嗎?我很困惑這件事。