-
Domain Name System (DNS) settings
デプロイしたサーバのIPと取得したDomain nameをDNSサーバへ登録する。 -
SSL setting
https通信のためSSL認証設定する。
Nginxの設定をhttps向けに修正
FWのルールを変更する。
Domain name取得
namecheap に登録してDomain名20190805.xyz
を購入してみました。1年1ドルくらい。
~.comは人気なのか、名前で人気不人気あるようで安いものは約1ドル/年~高いものだと8ドル/年とか。
ICANNで検索確認
- WhoisGuardを有効化しておくと紐づくメールアドレスだとかの個人情報が表示されない。何もしない状態だとPanamaになっていました。
Domain Name System (DNS) settings
Cloudflare に登録。
こちらは無料で、DNSサーバの表示があるのでコピーしてnamecheap の方で登録し向き先を変更。
Cloudflare上のDNS設定部分で、アプリをデプロイしたサーバのIPとnamecheapで取得したDomain名の紐付けをする。(このサーバはDigitalOceanで立てたもので、1ヶ月無料期間が終わると使えなくなる)
Requesutを投げてみると下記のとおり返ってきました。CNAMEのwww.20190805.xyz
も効いていました。
SSL setting
Crypt設定(Cloudflare)で、Full(strict)
を選択。
Origin Certificate Installation
で規定のままNextをクリック。
サーバ側で下記のファイル、フォルダを作成し、それぞれOrigin certificateのテキストをコピペ。
/var/www/ssl/20190805.xyz.pem
-----BEGIN CERTIFICATE-----
MIIEpDCCA4ygAwIBAgIUKpggyNiz4WiEh4GJM1o3x0te778wDQYJKoZIhvcNAQEL
<<< 中略 >>>
jgZjkVpFetL78zN2kxhEiozAejGcBC0UOs14GOJsoFVnlHEYjON80A==
-----END CERTIFICATE-----
/var/www/ssl/20190805.xyz.key
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCsAgaz9Y/dFchk
<<< 中略 >>>
VJVGv5J/QlVlKquVN3H//y1F
-----END PRIVATE KEY-----
Nginxの設定をhttps向けに修正
sudo vi /etc/nginx/sites-enabled/<config file name>.conf
server{
listen 443 default_server;
server_name 20190805.xyz;
ssl on;
ssl_certificate /var/www/ssl/20190805.xyz.pem;
ssl_certificate_key /var/www/ssl/20190805.xyz.key;
real_ip_header X-Forwarded-For;
set_real_ip_from 127.0.0.1;
location / {
include uwsgi_params;
uwsgi_pass unix:/var/www/html/<app location>/socket.sock;
uwsgi_modifier1 30;
}
}
server{
listen 80;
server_name 20190805.xyz;
rewrite ^/(.*) https://20190805.xyz/$1 permanent;
}
$ sudo systemctl reload nginx
$ sudo systemctl restart nginx
Firewallのルール追加
$ sudo ufw allow https
Rule added
Rule added (v6)
$ sudo ufw reload
Firewall reloaded
httpsでの接続ができようになりました。