ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
プロキシとは
プロキシ (Proxy) は、クライアントとサーバーの間に立って通信を中継するサーバーです。社内 LAN や教育機関のネットワークでは、外部インターネットへのアクセスは必ずプロキシ経由という設定が一般的で、各種ツールにプロキシ設定をしないと「タイムアウト」「Could not resolve host」などのエラーで通信できません。
| 種類 | 用途 |
|---|---|
| Forward Proxy | クライアント側プロキシ。一般的な「会社のプロキシ」 |
| Reverse Proxy | サーバー側。Nginx / HAProxy 等。ロードバランシングや SSL 終端 |
| Transparent Proxy | クライアント設定不要で透過的に挟む |
| SOCKS Proxy | HTTP 以外も中継可能(SSH の -D オプション等) |
環境変数によるプロキシ設定(基本)
多くの CLI ツールは以下の環境変数を見ます:
# Linux / Mac (bash/zsh)
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1,.example.com
# 小文字版も併設するとより確実(ツールにより参照が違う)
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
export no_proxy=localhost,127.0.0.1,.example.com
# 永続化(bashrc)
cat >> ~/.bashrc <<'EOF'
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1,.example.com
EOF
source ~/.bashrc
Windows (PowerShell):
# セッション限定
$env:HTTP_PROXY = "http://proxy.example.com:8080"
$env:HTTPS_PROXY = "http://proxy.example.com:8080"
$env:NO_PROXY = "localhost,127.0.0.1,.example.com"
# 永続化(ユーザー環境変数)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://proxy.example.com:8080", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://proxy.example.com:8080", "User")
NO_PROXY の書き方
「社内 LAN は直接アクセス、外部だけプロキシ経由」という運用に必須です:
# カンマ区切り、ドメインの先頭 . はサブドメインマッチ
export NO_PROXY="localhost,127.0.0.1,::1,10.0.0.0/8,192.168.0.0/16,.example.com,.local"
# 注意点
# - スペース禁止("a, b" → "b" が無効になることがある)
# - CIDR は対応ツール限定
# - ワイルドカード * 対応もツール依存
npm のプロキシ設定
# 設定
npm config set proxy http://proxy.example.com:8080
npm config set https-proxy http://proxy.example.com:8080
npm config set registry https://registry.npmjs.org/
# 確認
npm config list
npm config get proxy
# 削除
npm config delete proxy
npm config delete https-proxy
# 認証付き(パスワードはエンコード)
npm config set https-proxy http://user:pa%24sword@proxy.example.com:8080
# .npmrc に直書き(プロジェクトルート)
cat > .npmrc <<'EOF'
proxy=http://proxy.example.com:8080
https-proxy=http://proxy.example.com:8080
strict-ssl=false
EOF
git のプロキシ設定
# グローバル設定
git config --global http.proxy http://proxy.example.com:8080
git config --global https.proxy http://proxy.example.com:8080
# 確認
git config --global --get http.proxy
# 削除
git config --global --unset http.proxy
git config --global --unset https.proxy
# 特定 URL だけプロキシを使う
git config --global http.https://github.com.proxy http://proxy.example.com:8080
# SSH 経由のプロキシ(ProxyJump / nc)
cat >> ~/.ssh/config <<'EOF'
Host github.com
ProxyCommand nc -X connect -x proxy.example.com:8080 %h %p
Hostname ssh.github.com
Port 443
User git
EOF
apt / yum / dnf のプロキシ
# apt (Debian / Ubuntu)
sudo tee /etc/apt/apt.conf.d/95proxy <<'EOF'
Acquire::http::Proxy "http://proxy.example.com:8080";
Acquire::https::Proxy "http://proxy.example.com:8080";
EOF
# yum (RHEL/CentOS 7)
sudo tee -a /etc/yum.conf <<'EOF'
proxy=http://proxy.example.com:8080
proxy_username=user
proxy_password=pass
EOF
# dnf (RHEL/CentOS 8+)
sudo tee -a /etc/dnf/dnf.conf <<'EOF'
proxy=http://proxy.example.com:8080
EOF
curl / wget のプロキシ
# curl: 環境変数を見るので export しておけば不要
curl https://example.com
# 明示指定
curl -x http://proxy.example.com:8080 https://example.com
curl --proxy http://user:pass@proxy.example.com:8080 https://example.com
# .curlrc に書く
cat > ~/.curlrc <<'EOF'
proxy = "http://proxy.example.com:8080"
EOF
# wget
wget -e use_proxy=yes -e http_proxy=http://proxy.example.com:8080 https://example.com
# .wgetrc に書く
cat > ~/.wgetrc <<'EOF'
http_proxy = http://proxy.example.com:8080
https_proxy = http://proxy.example.com:8080
use_proxy = on
EOF
Docker のプロキシ
# Docker daemon のプロキシ (Linux)
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf <<'EOF'
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080"
Environment="HTTPS_PROXY=http://proxy.example.com:8080"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# コンテナビルド時に渡す
docker build --build-arg HTTP_PROXY=$HTTP_PROXY --build-arg HTTPS_PROXY=$HTTPS_PROXY .
# コンテナ内で使う
docker run -e HTTP_PROXY=$HTTP_PROXY -e HTTPS_PROXY=$HTTPS_PROXY ubuntu apt update
認証付きプロキシと特殊文字
# 書式: http://USER:PASS@HOST:PORT
export HTTP_PROXY=http://alice:secret@proxy.example.com:8080
# パスワードに @ ! # $ % 等が含まれる場合は URL エンコード必須
# @ → %40, ! → %21, # → %23, $ → %24, % → %25, & → %26
# pa@ss!word → pa%40ss%21word
# Python でエンコード
python3 -c "from urllib.parse import quote; print(quote('pa@ss!word'))"
# → pa%40ss%21word
PAC ファイル (Proxy Auto-Config)
会社支給 PC で「http://wpad.example.com/proxy.pac」のようなアドレスを指定されている場合は PAC ファイル方式。CLI ツールは PAC を直接サポートしないので、PAC の中身を読んで該当する HTTP プロキシを抜き出して環境変数に設定します:
# PAC ファイルを取得して中身を見る
curl http://wpad.example.com/proxy.pac
# 中身(例)
# function FindProxyForURL(url, host) {
# if (isInNet(host, "10.0.0.0", "255.0.0.0")) return "DIRECT";
# return "PROXY proxy.example.com:8080";
# }
# CLI 用は「PROXY」行のサーバーを取り出して環境変数化
export HTTP_PROXY=http://proxy.example.com:8080
プロキシ確認とトラブルシュート
# プロキシ越しの自己 IP を確認
curl https://ifconfig.io
curl -x http://proxy.example.com:8080 https://ifconfig.io
# 接続確認
curl -v https://www.google.com 2>&1 | grep -i proxy
# プロキシまでの疎通
nc -vz proxy.example.com 8080
telnet proxy.example.com 8080
# 各ツールが今どのプロキシを見ているか
echo $HTTP_PROXY
echo $HTTPS_PROXY
npm config get proxy
git config --get http.proxy
FAQ
Q: プロキシ経由で SSL 証明書エラーが出る
A: 企業プロキシが SSL 検査(中間者)している可能性。社内 CA 証明書を OS の信頼ストアに追加すれば解決します。
Q: 環境変数を設定したのに sudo すると効かない
A: sudo はデフォルトで環境変数を引き継ぎません。sudo -E または visudo で Defaults env_keep += "HTTP_PROXY HTTPS_PROXY"。
Q: VS Code / Chrome / Edge のプロキシ
A: 多くは OS のシステムプロキシ設定を継承。明示設定したい場合は VS Code は http.proxy、Chrome は --proxy-server 起動オプション。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?