スズハドットコム

IT関連や3Dプリンタの記事、たまに生活のメモを書いていきます。

Raspberry Pi + nginx + certbot でSSL その2

こちらの記事の続きです。
前回で「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