💨

nginx でリバースプロキシ

2022/05/30に公開

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