nginxを使ってローカルプロキシサーバをたてる(失敗)
インターネットルータ側でHTTP/HTTPSしか透過してないような環境でSSHしたかったので調べてみました。
タイトルにもあるように失敗です。
nginx ではHTTPSのフォワードプロキシに対応していないみたいです。
(HTTPのみなら成功したのですが。)
イメージはこんな感じ。
環境
- Mac OS X 10.10.2
- Homebrew 0.9.5
- OpenSSH_6.2p2
- nginx 1.6.2
Homebrewはインストール済みってことで。
「nginx」って何て読むんだろう。。。
手順
nginxのインストール
brewコマンドでインストールします。
$ brew install nginx
インストール先はココになるようです。
- /usr/local/Cellar/nginx/1.6.2
設定ファイルはココです。brew使う人にとっては当たり前なのかなぁ。
- /usr/local/etc/nginx
nginxのプロキシサーバ設定
Listenポート番号の変更
デフォルトは「8080」。
これは必要に応じて、って感じです。
- /etc/local/etc/nginx/nginx.conf
http { server { #listen 8080 listen 10080
プロキシ設定
すべてのリクエストをそのままフォワードするよう設定します。
HTTPS
$scheme:http / https $host:ホスト名 $request_uri:リクエストのuriロケーション
- /etc/local/etc/nginx/nginx.conf
http { server { location / { proxy_pass $scheme://$host$request_uri;
OSネットワークでのプロキシ利用設定
[システム環境設定] > [ネットワーク] > 利用しているネットワークの[詳細]ボタン > [プロキシ]タブ
- Webプロキシ(HTTP): チェック
- Webプロキシサーバ: localhost, 10080
これでブラウザからのHTTPアクセスがnginx経由となるはず。
細かなHTTPヘッダ設定とかはしてません。あしからず。
プロキシ経由でのアクセスをやめたい場合は上記OSネットワークでのプロキシ利用設定を無くせばOK。
サーバ起動と停止
- 起動コマンド
$ nginx
- 停止コマンド
$ nginx -s stop