前提・実現したいこと
Ubuntu,Nginx,gunicorn,python,djangoを利用しているサイトのSSL化をletsencryptを用いて行いたいのですが、うまく設定する事ができません。
SSL化しない状態のサイトは、表示されるのですが、リダイレクト後にSSL化されない状況です。
エラーメッセージ等も確認できないので、原因の特定ができず、つまってしまっています。
解決策についてご教授いただけないでしょうか?
発生している問題・エラーメッセージ
リダイレクトは行われているが、SSLされた状態で表示されない。
- http://sample.com → https://sample.com
- http://www.sample.com → https://sample.com
- https://www.sample.com → https://sample.com
該当のソースコード
/etc/nginx/sites-available内のnginxエントリーファイル
# http wwwなしからのリダイレクト server { listen 80; listen [::]:80; server_name sample.com; return 301 https://$host$request_uri; } # http https wwwありからのリダイレクト server { listen 80; listen 443 ssl; server_name www.sample.com; ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem; return 301 https://sample.com$request_uri; } # リダイレクトを流される側の設定 server { listen 443 ssl default_server; server_name sample.com; ssl on; ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem; location =/fabicon.ico {access_log off; log_not_found off;} location /static/{ root /home/ubuntu/sample; } location /{ include proxy_params; proxy_pass http://unix:/home/ubuntu/sample/sample.sock; } }
gunicornのサービスファイル
[Unit] Description=gunicorn daemon After=network.target [Service] User=ubuntu Group=www-data WorkingDirectory=/home/ubuntu/project ExecStart=/home/ubuntu/venv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/ubuntu/project/project.sock project.wsgi:application [Install] WantedBy=multi-user.target
試したこと
- gunicornのサービスファイル作成
- letsencryptをインストール
- 証明書を取得
- nginxのエントリーファイル作成
- nginxの再起動
- サイトの確認(SSL化されない)
補足情報(FW/ツールのバージョンなど)
Ubuntu: 19.10
nginx: nginx/1.16.1 (Ubuntu)
Python: 3.7.5
Django: 2.2.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。