読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

nginxのリバースプロキシの設定

nginx

nginx.conf

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
}

http {
        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        server {
                server_name x01.example.com;
                location / {
                        proxy_pass http://172.17.0.11;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }

        server {
                server_name x02.example.com;
                location / {
                        proxy_pass http://172.17.0.13;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }
}

これでx0{1,2}.example.comをここのホストに向けておけば、それぞれ172.17.0.1{1,3}に振り分けてくれる。

とりあえずこれでうごいたけど、こんなのでいいんだろうか。

serverのところを

        server {
                server_name x01.example.com;
                auth_basic "Restricted";
                auth_basic_user_file /etc/nginx/htpasswd;
                location / {
                        proxy_pass http://172.17.0.11;
                        proxy_set_header Host $host;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
        }

みたいにするとbasic認証をかけられる。

パスワードのファイルは

$ sudo apt-get install apache2-utils
$ sudo htpasswd -c /etc/nginx/htpasswd username

でhtpasswdコマンドで生成できる。