2021年3月31日 星期三

2021年3月24日 星期三

Access-Control-Allow-Origin

跨來源資源共用(CORS)

Mozilla 這邊文章寫得很詳細
簡單講當 User 去連 A 站,裡面的 AJAX 動作去 call B 站的資料,B 站就必需在 HTTP header 裡加入 Access-Control-Allow-Origin: *
使用完整 Source 路徑會更好,例如 Access-Control-Allow-Origin: https://blog.pank.org
Access-Control-Allow-Methods: 預設有 GET, HEAD, POST
所以在大部份的情況都不需要加

加入 Access-Control-Allow-Origin: * 大至上有兩個方法,從後端程式或 Web Server 端

後端程式,以 PHP 為例:
header('Access-Control-Allow-Origin: *');

Web Server 端,以 Apache 為例:
Header set Access-Control-Allow-Origin *
(也可以加在 .htaccess)

以 nginx 為例:
add_header 'Access-Control-Allow-Origin' '*'

2021年3月15日 星期一

RouterOS + HiNet IPv6 + www.cht.com.tw

RouterOS + HiNet IPv6 一段時間了,並沒有遇到什麼問題,
直到發現使用 IPv6 竟然連不到中華自己家官網 https://www.cht.com.tw

Firefox 出現 PR_CONNECT_RESET_ERROR


Chrome 出現 ERR_CONNECTION_RESET


curl 出現 errno 104


一開始以為是中華網站的問題,因為連其他 v6 網站都正常,
後來交叉測試後,直接撥接或從 AWS IPv6 連都正常,確定是透過 RouterBoard 才不正常,
查了 IPv6 Firewall 並無問題,最後查到是 ND MTU 的問題,只要設定 1480 以下就正常了



DNS negative cache

在查詢一個域名時,若當資料不存在,會出現 NXDOMAIN DNS 也會 cache 這個查不到的結果,其預設的 TTL 跟 DNS 及 Zone 的 SOA TTL 有關 例如 BIND 的 max-ncache-ttl 預設是 10800 秒 當 SOA 中的 TTL 小於 ...