サーバー情報
【さくらのVPS】
メモリ:8GB
ストレージ:SSD 400GB
CPU:6コア
OS
CentOS7 x86_64
【さくらのVPS】
メモリ:8GB
ストレージ:SSD 400GB
CPU:6コア
CentOS7 x86_64
【さくらのVPS】
メモリ:8GB
ストレージ:SSD 400GB
CPU:6コア
CentOS7 x86_64
Python:3.6.8
pip:9.0.3
git:1.8.3.1
sql:9.2.24
PostgreSQL:9.2.24
Nginx:1.16.1
Django: 3.1.4
Gunicorn: 20.0.4
Webアプリケーションで必須のSSL化を実施します。
今回は無料版として好評な「Let’s Encrypt」を利用します。
Nginxを停止させます。
Nginxを停止させます。
停止していることを確認します。
Nginxを停止させます。
Nginxを停止させます。
停止していることを確認します。
「Let’s Encrypt」を半自動で設定してくれる Certbot のプログラムを GitHub からダウンロードします。
ダウンロードに備えてディレクトリを移動します。
GitHubからダウンロードを行います。
「Let’s Encrypt」を半自動で設定してくれる Certbot のプログラムを GitHub からダウンロードします。
ダウンロードに備えてディレクトリを移動します。
GitHubからダウンロードを行います。
ダウンロード実施後に、証明書の発行などの設定を行います。
証明書の発行を実施
設定するドメイン名
メールアドレス
利用規約に同意
プログラム実行時に “Yes or No” を尋ねない
“Congratulations!”と表示されれば成功!
ダウンロード実施後に、証明書の発行などの設定を行います。
証明書の発行を実施
設定するドメイン名
メールアドレス
利用規約に同意
プログラム実行時に “Yes or No” を尋ねない
“Congratulations!”と表示されれば成功!
作成された証明書をNginxに設定します。
「Let’s Encrypt」のディレクトリを移動します。
「live/」ディレクトリが存在することを確認します。
「▼▼▼/」(ドメイン)のディレクトリが存在することを確認します。
「fullchain.pem」、「privkey.pem」が存在することを確認します。
※SSLの設定で必要なキーファイルの保存場所:/etc/letsencrypt/live/▼▼▼/
作成された証明書をNginxに設定します。
「Let’s Encrypt」のディレクトリを移動します。
「live/」ディレクトリが存在することを確認します。
「▼▼▼/」(ドメイン)のディレクトリが存在することを確認します。
「fullchain.pem」、「privkey.pem」が存在することを確認します。
※SSLの設定で必要なキーファイルの保存場所:/etc/letsencrypt/live/▼▼▼/
作成された証明書をNginxに設定します。
Nginxの設定ファイルを編集します。
server {
listen 80;
server_name ▼▼▼(ホスト名);
location /static {
alias /usr/share/nginx/html/static;
}
location /media {
alias /usr/share/nginx/html/media;
}
location / {
proxy_pass http://unix:/home/☆☆☆/☆☆☆.sock;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443 ssl;
server_name ▼▼▼(ホスト名);
ssl_certificate /etc/letsencrypt/live/▼▼▼/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/▼▼▼/privkey.pem;
location /static {
alias /usr/share/nginx/html/static;
}
location /media {
alias /usr/share/nginx/html/media;
}
location / {
proxy_pass http://unix:/home/☆☆☆/☆☆☆.sock;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ポート番号をSSL化用の443(HTPS)に変更します。
※実施前にファイアウォールにおいて443番を開放しておいて下さい。
作成された証明書をNginxに設定します。
Nginxの設定ファイルを編集します。
server {
listen 80;
server_name ▼▼▼(ホスト名);
location /static {
alias /usr/share/nginx/html/static;
}
location /media {
alias /usr/share/nginx/html/media;
}
location / {
proxy_pass http://unix:/home/☆☆☆/☆☆☆.sock;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 443 ssl;
server_name ▼▼▼(ホスト名);
ssl_certificate /etc/letsencrypt/live/▼▼▼/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/▼▼▼/privkey.pem;
location /static {
alias /usr/share/nginx/html/static;
}
location /media {
alias /usr/share/nginx/html/media;
}
location / {
proxy_pass http://unix:/home/☆☆☆/☆☆☆.sock;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ポート番号をSSL化用の443(HTPS)に変更します。
※実施前にファイアウォールにおいて443番を開放しておいて下さい。
Nginxを再起動させます。
Nginxを再起動させます。
起動状況を確認します。
「https://▼▼▼」にアクセスし、SSLマークがついていればOKです。
Nginxを再起動させます。
Nginxを再起動させます。
起動状況を確認します。
「https://▼▼▼」にアクセスし、SSLマークがついていればOKです。
SSL証明書は一定期限ごとに更新が必要になるので、更新作業を自動化します。
3ヶ月更新が多いですが、今後90日ごとの更新に変更になります。
そのため、今回はSSL証明書の有効期限(1ヶ月ごと)の証明書更新を自動化設定します。
※更新期限の1か月前に実施しても無効化されるため、更新期間は慎重に決めましょう。
crontabは定期的にジョブを実行するようスケジュールするcronを設定するコマンドです。
crintabのオプション一覧は以下の通りです。
cronを設定します
設定されているcronを表示します
設定されているcronを削除します
cronを設定するユーザーを指定します
00 04 01(hhMMdd):登録したcronを実行する時間を指定します。
この場合だと、「毎月1日の4時00分に実行する」という設定となります。
日時の後には実行したいコマンド(systemctl restart nginx)を指定しています。
SSL証明書は一定期限ごとに更新が必要になるので、更新作業を自動化します。
3ヶ月更新が多いですが、今後90日ごとの更新に変更になります。
そのため、今回はSSL証明書の有効期限(1ヶ月ごと)の証明書更新を自動化設定します。
※更新期限の1か月前に実施しても無効化されるため、更新期間は慎重に決めましょう。
crontabは定期的にジョブを実行するようスケジュールするcronを設定するコマンドです。
crintabのオプション一覧は以下の通りです。
cronを設定します
設定されているcronを表示します
設定されているcronを削除します
cronを設定するユーザーを指定します
00 04 01(hhMMdd):登録したcronを実行する時間を指定します。
この場合だと、「毎月1日の4時00分に実行する」という設定となります。
日時の後には実行したいコマンド(systemctl restart nginx)を指定しています。