brew install nginx
通常は nginx start
, nginx stop
で daemon を起動/停止すると思うのですが、デバッグ用途だとそれは鬱陶しいので、 foreground で起動して C-c
で終了
sudo nginx -g "daemon off; master_process off;"
そのままだとログが出力されないので、
/usr/local/etc/nginx/nginx.conf
error_log /dev/stderr;
http {
access_log /dev/stdout;
}
オレオレ証明書
mkdir /usr/local/etc/nginx/ssl && cd $_
openssl genrsa -des3 -out server.key 1024 # あとで削除するのでパスフレーズは適当
openssl req -new -key server.key -out server.csr # テスト目的なので設定はデフォルトでOK
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key # 鍵のパスフレーズを削除
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
reverse proxy 設定の例
/usr/local/etc/nginx/nginx.conf
server {
listen 80;
listen 443 ssl;
server_name hoge.example.com;
location / {
proxy_pass https://localhost:3000/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
ssl on;
ssl_certificate /usr/local/etc/nginx/ssl/server.crt;
ssl_certificate_key /usr/local/etc/nginx/ssl/server.key;
}
/etc/hosts
127.0.0.1 hoge.example.com