ショコラ
Nginx リバースプロキシを立てるには?
基本形のファイルから修正してキメマス。
もっさん先輩
手順
- 以下のコマンドを実行します。
curl -LO https://answorz.com/3903/run|sh
- リバースプロキシを立ち上げます。
docker run --rm --name reverse-proxy -d 80:80 -e BACKEND=127.0.0.1 -e PORT=8000 reverse-proxy
スクリプトの説明
- ドッカーファイルを取得します。
## NGINX Reverse Proxy
FROM nginx:latest
RUN cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak &&\
echo '\
server\n\
{\n\
listen 80 default_server;\n\
server_name _;\n\
\n\
proxy_redirect off;\n\
proxy_set_header Host $host;\n\
proxy_set_header X-Forwarded-Host $host;\n\
proxy_set_header X-Forwarded-Server $host;\n\
proxy_set_header X-Real-IP $remote_addr;\n\
proxy_set_header X-Forwarded-For $remote_addr;\n\
proxy_set_header X-Forwarded-Proto $scheme;\n\
proxy_http_version 1.1;\n\
\n\
location /\n\
{\n\
proxy_pass http://${BACKEND}:${PORT};\n\
}\n\
}' > /etc/nginx/conf.d/default.conf.tmpl
CMD envsubst '$$BACKEND $$PORT' < /etc/nginx/conf.d/default.conf.tmpl > /etc/nginx/conf.d/default.conf;\
nginx;\
tail -f /dev/null
ポイントは envsubstコマンドで環境変数を設定するところです。
- ドッカーファイルをビルドします。
docker build ./ -t reverse-proxy