nginxでK-NOMPにアクセスできるようにする
前提
- K-NOMPは8080ポートでインストールされている
- http(s)://your.domain.com/ で公開する
- Debian 8で確認しています
準備
1 2 |
|
とりあえずHTTP用の設定を用意します
sudo vi /etc/nginx/sites-available/your.domain.com.conf
1 2 3 4 5 6 7 8 |
|
site-enableにリンク
1
|
|
nginxを再起動
1
|
|
確認
http://your.domain.com/
にアクセスして、K-NOMPの画面が表示されることを確認します。
HTTPS化する
証明書の取得
Let’s Encrypt(certbot)に任せます。 「–nginx」を指定すると、certbotが自動でnginxの設定を書き換えてくれます。
1 2 3 4 5 6 |
|
※ 2を選ぶとHTTPポートからHTTPSポートに転送する設定が入ります。
確認
https://your.domain.com/
にアクセスして、HTTPSが有効なこと、証明書が有効なことを確認します。
証明書の自動更新設定
Let’s Encryptの証明書は3か月で期限切れになるので、その前に更新しなければなりません。
2か月おきくらいに手動でやってもいいですが、面倒がないように自動化します。
crntab -e (rootで実行)
1 2 |
|
毎週月曜日20時10分にチェックし、期限30日前になったら更新してくれます。 複数の証明書をとっていても、これだけでOK(のはず)です。
- 2018/05/22追記
crontab設定にPATHを追加
cronのPATHのデフォルトは/usr/bin:/bin
であり、/usr/sbinにあるnginxが実行できず、nginxプラグインが失敗するためPATH設定が必要となります。
他にやっておくこと
デフォルトのnginxの設定
HTTPポートにIPアドレスでアクセスすると、nginxのデフォルト設定が使用されます。
気になるなら変更しましょう。
(/var/www/html/index.html
を空にする等?)
Qualys SSL ReportでA+評価をとりたい
- Qualys SSL Report
https://www.ssllabs.com/ssltest/index.html
/etc/nginx/nginx.conf
を編集
1 2 |
|
自分の環境では、以上でA+になりました。
以下をやるとさらに高評化になりますが、8080ポートにアクセスできなくなる(HTTPSを強制されるため)ので注意しましょう。
1 2 3 4 |
|