MacBook に nginx でフォワードプロキシを立てておくと何かと便利

閉域ネットワークに設置されたサーバのメンテ中、サーバから外にアクセスしたいなと思いました。

閉じたネットワークに、MBP を有線でつないでいて、MBP からはポータブル Wi-Fi 経由で外に出れる状況です。

------+------------+--------- 閉域ネットワーク
      |            |
 +----+----+       |
 | サーバ  | ...   |
 +---------+       | 有線
                   |
              +----+----+
              |   MBP   | - - - >> ポータブル Wi-Fi - - - >> [インターネット]
              +---------+

というわけで、下記のような感じで MBP に nginx でフォワードプロキシを立てました。

[MBP]$ brew install nginx

[MBP]$ vi /usr/local/etc/nginx/nginx.conf
------------------
daemon  off;

worker_processes  1;

error_log   /dev/null;  
pid         /tmp/nginx.pid;

events {  
    worker_connections  256;
}

http {  
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  5 3;
    access_log  /dev/null;

    server {
        listen       3128 default_server;
        server_name  _;
        resolver     8.8.8.8;

        location / {
            proxy_pass $scheme://$http_host$request_uri;
        }
    }
}
------------------

サーバからは下記で http プロキシ設定してあげると、wget や curl や yum やらが外に出れて非常に便利です。

[server]$ export http_proxy=http://<MacBookのIP>:3128/