AI(Dify)を活用したサービス サンプル
KAN YOSHIDA
株式会社アートジャンキー
この記事では、WebサイトをHTTPS化し、安全な通信を実現する方法について説明します。HTTPS化には、Let’s Encryptが提供する無料のSSL証明書を使用し、Certbotツールを介してApacheサーバーに設定します。このプロセスは、セキュリティを向上させ、訪問者に対して信頼性の高いサイトであることを示すために重要です。
次に、Let’s EncryptのSSL証明書を自動で取得・更新するためのCertbotをインストールします。
sudo dnf install certbot python3-certbot-apache
SSL証明書と秘密キーを手動で生成するには、以下のコマンドを使用します。このステップは、Certbotを使用する場合は必須ではありませんが、自己署名証明書を作成する際に役立ちます。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/httpd.key -out /etc/pki/tls/certs/httpd.crt
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:TOKYO
Locality Name (eg, city) [Default City]:MINATO
Organization Name (eg, company) [Default Company Ltd]:YourCom,Inc.
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:projects
Email Address []:webmaster@gmail.com
生成時には、組織に関する情報を入力します。
ApacheにSSL証明書を設定するため、ssl.conf
ファイルを編集します。設定ファイルで、以下のセクションを適切に更新します。
sudo vim /etc/httpd/conf.d/ssl.conf
<VirtualHost *:80>
ServerName yourserver.com
DocumentRoot "/opt/local/redmine/src/redmine-5.1.0/public"
ErrorLog logs/yourserver.com-error_log
CustomLog logs/yourserver.com-access_log common
</VirtualHost>
<VirtualHost *:443>
ServerName yourserver.com
DocumentRoot "/opt/local/redmine/src/redmine-5.1.0/public"
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key
</VirtualHost>
Let’s EncryptからSSL証明書を取得し、自動でApacheに設定します。
sudo certbot --apache
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): webmaster@artjunkie.co.jp
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y → 規約に同意
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N → メールでの情報受取は不要
Account registered.
Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: yourserver.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1 → 1のドメインに適応
Requesting a certificate for yourserver.com
Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/projects.artjunkie.co.jp/fullchain.pem
Key is saved at: /etc/letsencrypt/live/projects.artjunkie.co.jp/privkey.pem
This certificate expires on 2024-06-30.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.
Deploying certificate
Successfully deployed certificate for projects.artjunkie.co.jp to /etc/httpd/conf.d/ssl.conf
Congratulations! You have successfully enabled HTTPS on https://projects.artjunkie.co.jp
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Apacheサーバーを再起動して、変更を適用します。
sudo service httpd restart
Webサーバーで既に動作しているサイトに対して、サーバーの設定を変更せずにSSL/TLS証明書を取得または更新するためには、こちらを適用します。
sudo certbot certonly --webroot --webroot-path=/opt/local/redmine/src/redmine-5.1.0/public -d yourserver.com
この記事では、WebサイトをHTTPS化するために必要なステップを説明しました。SSL証明書の取得と設定を通じて、Webサイトのセキュリティを向上させることができます。Let’s EncryptとCertbotを使用することで、このプロセスは簡単かつ無料で行えます。