はじめに
会社によってまちまちだと思いますが、
社内→社外の通信時に社内プロキシサーバーを経由してアクセスするように設定されていることがあります。主にWebフィルタリングや監査の関係です。
大学や家の環境ならうまくいくのに!っていう時にいろいろ躓いたところなので
これからエンジニアになる方の助けになればと。
今回はWindows + Docker + GitでLAMP環境を構築した体で書いています。
プロキシとは何か
会社PCから外部に向けての通信を
プロキシと呼ばれる仕組みを通すことにより、危ない通信・怪しい通信をしていないかを確認します。
プロキシサーバーはWebフィルタリングや通信監査などの目的で導入されていることが多いです。例えば、会社PCを使ってフィッシングサイトやマルウェア感染の危険があるWebページへのアクセスを制限したり、アダルトなサイトにアクセスできなくしたり、Webゲームをしてサボったりなんかもできなくなっているわけです。
このプロキシサーバーですが、通常の業務レベルでは困ることは無いのですが、
ローカルPCに建てた仮想マシン環境からの通信についてもプロキシサーバーを経由するように設定しないと
通信がコケることがあるので、基本的な設定方法をまとめておきます。
プロキシサーバー接続文字列
基本的には下記のような感じ
http://[プロキシのドメイン]:[ポート番号]
認証ありプロキシの場合は下記
http://[ユーザー名]:[パスワード]@[プロキシのドメイン]:[ポート番号]
各環境毎の設定方法
Linuxサーバー
環境変数で設定可能
export http_proxy="[プロキシサーバー接続文字列]"
export https_proxy="[プロキシサーバー接続文字列]"
php
環境変数をphpのputenvからも設定可能
putenv("HTTP_PROXY=[プロキシサーバー接続文字列]");
putenv("HTTPS_PROXY=[プロキシサーバー接続文字列]");
git
gitbash等のコマンドラインから設定
git config --global http.proxy "プロキシサーバー接続文字列"
git config --global https.proxy "プロキシサーバー接続文字列"
Docker Desktop (Windows)
設定メニューの「Resources > PROXIES」から設定可能
証明書関連のエラーが出る場合
プロキシサーバーで、https通信を複合化を行っている場合、
証明書関連のエラーが発生する場合があります。
この場合は、証明書エラーを無視する設定を入れるか、ネットワーク管理者に相談してください。