フューチャー技術ブログ

Go Tips連載1: ホワイトリストProxy申請するときのGo依存ライブラリURLドメインの調べ方

はじめに

Go Tips連載の第1弾目です。

TIG DXユニットの宮崎です。これまでRuby、Java中心に仕事をしてきましたが、ここ1年は某鉄道会社のID連携基盤サーバサイドをGolangで作っています。今回はGo Tips連載の第1回として、ホワイトリストProxy申請するときのGo依存ライブラリURLドメインの調べ方を記載します。

※パッケージ管理にはGo Modulesを使用している前提です。

背景

社内CIサーバからのインターネットアクセスがやんごとなき事情でホワイトリスト形式で許可されており、ライブラリダウンロードでアクセスするドメインへの接続解除申請を上げようとしたのが契機。

go.modでrequireしているドメインへのアクセスを全て許可したのにも関わらず一部のライブラリが落とせなく、(;´・ω・)? となったのでこれ以上の犠牲者を出さないためTips連載ネタにします。

結論

  • インターネットアクセスできる環境にてgo mod download -vでアクセス先を全て表示させる。
  • この時、ライブラリによってはrequireドメインではないリポジトリにリダイレクトされているので、アクセス許可ドメインとして見逃さないこと。(ハマりポイント)
    • ↓の場合だとrequire先はcloud.google.comだがライブラリダウンロード自体はcode.googlesource.comから実施される。
get "cloud.google.com/go": found meta tag get.metaImport{Prefix:"cloud.google.com/go", VCS:"git",
RepoRoot:"https://code.googlesource.com/gocloud"} at https://cloud.google.com/go?go-get=1

この記事で少しでも犠牲者が減ることを祈っています。