質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1789閲覧

letsencryptでのhttps化(SSL化)ができない原因がわからない

tomaa

総合スコア84

Gunicorn

Gunicorn (Green Unicorn)は、Rubyのunicornをベースに開発されたUNIX向けのPython製HTTPサーバです。他のライブラリとの依存関係がないため、容易にインストールして使用できます。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/04/24 12:04

前提・実現したいこと

Ubuntu,Nginx,gunicorn,python,djangoを利用しているサイトのSSL化をletsencryptを用いて行いたいのですが、うまく設定する事ができません。

SSL化しない状態のサイトは、表示されるのですが、リダイレクト後にSSL化されない状況です。

エラーメッセージ等も確認できないので、原因の特定ができず、つまってしまっています。

解決策についてご教授いただけないでしょうか?

発生している問題・エラーメッセージ

リダイレクトは行われているが、SSLされた状態で表示されない。

該当のソースコード

/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

試したこと

  1. gunicornのサービスファイル作成
  2. letsencryptをインストール
  3. 証明書を取得
  4. nginxのエントリーファイル作成
  5. nginxの再起動
  6. サイトの確認(SSL化されない)

補足情報(FW/ツールのバージョンなど)

Ubuntu: 19.10
nginx: nginx/1.16.1 (Ubuntu)
Python: 3.7.5
Django: 2.2.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

使用しているHTMLファイルに、httpではじまる<img src=””>タグが含まれている事が原因でした。
こちらのサイトを参考にしました。
SSL対応でhttpとhttpsが混在したコンテンツが表示できない原因を特定する

投稿2020/04/24 13:22

tomaa

総合スコア84

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問