何の話?
DNS登録していないサイト(例えばステージング環境とか)に対してブラウザテストをするときってないですか?
そういうときローカルの/etc/hostsファイルに
XX.XX.XX.XX www.example.com
のようなエントリを追加してテストしたりすると思います。
これをDatadogのSyntheticsブラウザテストで実施したい場合、Hostヘッダを追加すればいいかと思ったんですが・・・
↓のようにHostを追加して、テストを実行すると、
Warningと表示されて、Hostヘッダが追加されません。
サポートにも聞いてみたんですが、HostヘッダはForbidden header nameとして定義され、変更が禁止されているらしく、ブラウザテストでも変更できないそうです。
(ちなみにAPIテストの方はHostヘッダの変更が可能でした)
Workaround
こういう場合、プライベートロケーションをつくって、そこのhostsファイルを修正するというやりかたができます。
プライベートロケーションは、環境つくるのはちょっと面倒ですし、どこに置くとか考慮は必要ですが、設定自体は簡単です。
プライベートロケーションをKubernetes上に構築した場合、spec.hostAliases
でhostsファイルのエントリが作成できます。
spec:
hostAliases:
- ip: "XX.XX.XX.XX"
hostnames:
- "www.example.com"
まとめ
DNS登録されていないサイトでもプライベートロケーションならブラウザテストできるよ!とうい話でした。