概要
proxyの設定に関しては下記サイトを参考にします。
それでも、proxyを通すことができなかった経緯と、解決策について記載します。
経緯
転職先の会社でAtomをインストールしようとしたところ、proxyが全く通らない。
色々試していくうちに、proxyのユーザー名の先頭に必要な ドメイン が悪いらしい
(転職先の会社はどうやらシンクライアント?)。
つまり、proxyを通してインターネットに接続する際、
ユーザー名: DOMAIN¥USERNAME
というように、「ドメイン名+バックスラッシュ+ユーザー名」という形式になっていました。
解決策(認証proxy記述方法)
apm
コマンドで登録するか、.apmrc
に設定を記述します。
ドメイン無し
http-proxy http://username:password@proxy-host:port
https-proxy http://username:password@proxy-host:port
※ https-proxyでも、値は「http://」
ドメイン有り
http-proxy http://domain%5Cusername:password@proxy-host:port
https-proxy http://domain%5Cusername:password@proxy-host:port
説明
ドメイン無しと比較すると、domain%5C
を追加しています。
形式 | 内容 |
---|---|
domain | ドメイン名(ネットワークに接続する際のバックスラッシュの前部分) |
%5C | バックスラッシュのURLエンコードの記述 |
username | proxy認証ユーザー名 |
password | proxy認証パスワード |
proxy-host | proxyのホスト(e.g. proxy.company.co.jp ) |
port | 10080や、8080など、設定による |
その他(SublimeText3の場合)
Atomが重くて動かなくなったので、SublimeText3でも同様にproxy設定を行いました。
その際にも若干ハマったので、備忘録として記載します。
基本は以下を参考にしました。
認証付きプロキシの環境でPackage Controlを導入する方法
PackageControlのインストール
コンソール経由でPackageControlを入れる際のドメイン付きプロキシ設定は以下の通りです。
...
urllib.request.ProxyHandler({"http": "http://[domain]%5C[username]:[password]@[proxy_server]:[port]", "https": "https://[domain]%5C[username]:[password]@[proxy_address]:[port]"})) );
...
※ 抜粋しています。全文は公式ページで取得を推奨。
つまり、[username]の前に、[domain]%5C
を挿入します。
PackageControlの設定
インストール後、各パッケージをインストールする際にもproxyを通さないといけないので、その設定を行います。
上記参考サイトに従って、ユーザーの設定に以下を追記します。
{
"http_proxy": "http://[proxy_server]:[port]",
"https_proxy": "https://[proxy_server]:[port]",
"proxy_username": "[domain]¥¥username",
"proxy_password": "password"
}
変更点は、proxy_username
のユーザー名にドメイン([domain])を挿入していますが、ドメイン名とユーザー名の繋ぎは、今回はURLエンコードではなく、バックスラッシュをエスケープする形で、「¥¥」が正解です(1個じゃだめ)。