__memo_Network Environment Configuration


  1. Domain name取得

  2. Domain Name System (DNS) settings
    デプロイしたサーバのIPと取得したDomain nameをDNSサーバへ登録する。

  3. 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をクリック。

Key formatでPEMを選択。

サーバ側で下記のファイル、フォルダを作成し、それぞれOrigin certificateのテキストをコピペ。
/var/www/ssl/20190805.xyz.pem

20190805.xyz.pem
-----BEGIN CERTIFICATE-----
MIIEpDCCA4ygAwIBAgIUKpggyNiz4WiEh4GJM1o3x0te778wDQYJKoZIhvcNAQEL
<<< 中略 >>>
jgZjkVpFetL78zN2kxhEiozAejGcBC0UOs14GOJsoFVnlHEYjON80A==
-----END CERTIFICATE-----

/var/www/ssl/20190805.xyz.key

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

.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での接続ができようになりました。