💨
nginx でリバースプロキシ
Proxy を「プロキシー」と読むか「プロクシー」と読むか、永遠の課題・・・
gitlab をコンテナで起動したときに、ポートは 8080 にしました。これを簡単に http://gitlab という具合にアクセスしたいです。ローカル環境のみの自分しかアクセスしない環境なので、設定も簡単に済ませたいです。
昭和生まれはついつい Apache を選択してしまいますが、新しいことにチャレンジすべく nginx を使うことにしました。
$ sudo apt install nginx
インストールは apt でさくっと。インストールが終わったらすでに起動していました。設定は、/etc/nginx にあるそうです。
$ ls -F /etc/nginx/
conf.d/ koi-win nginx.conf sites-enabled/
fastcgi.conf mime.types proxy_params snippets/
fastcgi_params modules-available/ scgi_params uwsgi_params
koi-utf modules-enabled/ sites-available/ win-utf
sites-available に置いて、sites-enabled にリンクするパターンです。
server {
listen 80;
server_name gitlab;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
listen に http のデフォルト 80 を書いて、server_name に gitlab と書いているので、http://gitlab にアクセスするとこの設定が参照されるという仕組みです。proxy_pass が転送する先のサーバですので、コンテナで動いている localhost:8080 を指定しています。
リンクを貼って、早速有効にします。
$ cd /etc/nginx/sites-enabled
$ ln -s ../sites-available/gitlab
nginx はテスト実行で設定に問題がないか確認することが可能です。
$ sudo systemctl stop nginx
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo systemctl start nginx
最後に gitlab を hosts に追加したら出来上がり。
/etc/hosts
127.0.0.1 gitlab
Discussion