暗号化されているhttpsを利用するためには、SSL証明書が必要になります。
インターネットに公開し、多くの人に利用してもらうためには、認証局で発行されたSSL証明書を利用する必要があります。
最近では無用で取得できる認証局もあります。
暗号化したいが、自分だけが利用できればよく、最初警告が表示されることも気にしないのであれば、
自己証明書を自分で作ってhttpsの暗号化通信をすることができます。
# mkdir ip # cd ip # openssl req -new -newkey rsa:2048 -nodes -out ip.csr -keyout ip.key -sha256 -subj "/C=JP/ST=Tokyo/L=Shibuya-ku/O=Example, Inc./CN=example.com" # ls ip.csr ip.key # openssl x509 -days 3650 -req -signkey ip.key -sha256 < ip.csr > ip.crt # ls ip.crt ip.csr ip.key
設定ファイル例 : /etc/nginx/conf.d/default.conf
server { listen 80; listen 443 default ssl; ssl on; # サーバ証明書 ssl_certificate /etc/nginx/ssl/ip/ip.pem; # 秘密鍵 ssl_certificate_key /etc/nginx/ssl/ip/ip.key; }
# lsof -i :443 <- 追加したいポートが既に利用されていないか確認 # nginx -t <- 設定の確認 # systemctl reload nginx <- Nginxの設定反映 # lsof -i :443 <- 追加したいポートがあがっていることを確認
server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443; ssl on; (略) }
設定ファイル例 :/etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
# lsof -i :443 <- 追加したいポートが既に利用されていないか確認 # nginx -t <- 設定の確認 # systemctl reload httpd <- Nginxの設定反映 # lsof -i :443 <- 追加したいポートがあがっていることを確認