星期五, 12月 02, 2016

Break Same-origin policy by Nginx

HTML 5 愈來愈成熟,可預見的未來不再容許 ActiveX 的存在,替代方案是 WebSocket 或類似的架構,說穿了就是把一些髒事有安全疑慮的工作交給本機的一個輕量化 Web Server 處理。

不過「同源政策」又出來搗亂了,因為網頁所在伺服器與瀏覽器本來就不該一樣,而我能拿到的一個 ActiveX 替代方案參考實作,又偏偏不開放 Access-Control-Allow-Origin 這個表頭(一定是故意!),沒關係,請 Nginx 來助陣,設定如下:


如此一來,原先在 JavaScript 存取 http://localhost:61161 受到同源政策拘束的問題,改往 http://localhost:6116 即可解決。