こちらの記事の続きです。
前回で「Raspberry Pi + nginx + certbot でSSL」は達成しているので、今回はちょい足しの記事です。
suzu-ha.com
インターネットに公開するのにファイアウォール無しというのも不安なので、ファイアウォールをインストールします。
myuser@myhost:~ $ sudo apt install ufw
ひとまずポート22(SSH)だけ許可して、起動してみます。
myuser@myhost:~ $ sudo ufw default deny myuser@myhost:~ $ sudo ufw allow 22 myuser@myhost:~ $ sudo ufw enable Command may disrupt existing ssh connections. Proceed with operation (y|n)? y Firewall is active and enabled on system startup
ラズパイ上のnginxで公開しているWebページが、http、httpsともに表示できなくなります。
ssh接続は維持されている(切れない)はずです。切れちゃった場合は残念ながらポート22の許可がうまくいってません。sshはもう繋がらないので、ラズパイにキーボードとディスプレイを接続して復旧してやるしかないです。
ポート80(HTTP)、ポート443(HTTPS)を許可します。
nginxで公開しているWebページが見えるようになります。
myuser@myhost:~ $ sudo ufw allow 80 myuser@myhost:~ $ sudo ufw allow 443
また、nginxはエラーページでバージョンを表示してしまうので、これもオフにします。
myuser@myhost:~ $ sudo cp -p /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak myuser@myhost:~ $ sudo vi /etc/nginx/nginx.conf
「server_tokens off;」がコメントアウトされているので
# server_tokens off;
有効にしてあげます。
server_tokens off;
変更を反映します。これでエラーページからnginxバージョンが消えます。
myuser@myhost:~ $ sudo systemctl reload nginx