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

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

新規登録して質問してみよう
ただいま回答率
87.20%
AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

SSL

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

受付中

【本番環境にSSL化を行いたい】

NEMOTOSHOTA
NEMOTOSHOTA

総合スコア0

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

SSL

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

0回答

0評価

0クリップ

18閲覧

投稿2020/05/23 11:39

編集2022/01/12 10:55

##【本番環境にSSL化を行いたい】

下記の記事を参考にssl化の設定を行っています。
https://qiita.com/Yuki_Nagaoka/items/55ed1610cfc1f59398b1#5https%E7%94%BB%E9%9D%A2%E8%A1%A8%E7%A4%BA

EC2でデプロイした本番環境にSSL化を施したいのですが、できない状態です。
SSL化の証明書の発行はACMを使っています。
ELBを使用しています。

##【推測】
本番環境のURLにアクセスをすると下記画像画像のように表示がされるので、ACMからSSL化のための証明書は発行できている。
イメージ説明
http://~で始まる本番環境のURLにアクセスするとthttps://~にリダイレクトが行われるため、ELB周りの設定はうまくいっている?
・SSL化が有効になっていない?
・nginx.confの設定がおかしい?

参考記事の通り、sudo vi /etc/nginx/nginx.confの中身は下記の通りに設定をしました。

# For more information on configuration, see: #  * Official English Documentation: http://nginx.org/en/docs/ #  * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events {   worker_connections 1024; } http {   log_format main '$remote_addr - $remote_user [$time_local] "$request" '            '$status $body_bytes_sent "$http_referer" '            '"$http_user_agent" "$http_x_forwarded_for"';   access_log /var/log/nginx/access.log main;   sendfile      on;   tcp_nopush     on;   tcp_nodelay     on;   keepalive_timeout  65;   types_hash_max_size 2048;   include       /etc/nginx/mime.types;   default_type    application/octet-stream;   # Load modular configuration files from the /etc/nginx/conf.d directory.   # See http://nginx.org/en/docs/ngx_core_module.html#include   # for more information.   include /etc/nginx/conf.d/*.conf; upstream unicorn {   server unix:/var/www/rails/Portfolio/tmp/unicorn.sock; }    server {     listen    80 default_server;     listen    [::]:80 default_server;     server_name _;     root     /usr/share/nginx/html;     # Load configuration files for the default server block.     include /etc/nginx/default.d/*.conf;     location / {     }     error_page 404 /404.html;       location = /40x.html {     }     error_page 500 502 503 504 /50x.html;       location = /50x.html {     }   }    server {     listen 443 ssl;     server_name www.kuchikomu.tokyo;#ドメイン名に修正     location @unicorn {     proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_pass http://unicorn; } } # Settings for a TLS enabled server. # server { # listen 443 ssl http2 default_server; # listen [::]:443 ssl http2 default_server; # server_name www.kuchikomu.tokyo; # root /usr/share/nginx/html; # # # ssl_certificate "/etc/pki/nginx/server.crt"; # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # # location / { # } # # error_page 404 /404.html; # location = /40x.html { # } # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } }

ファイルが正しいかどうかを調べるためにsudo nginx -tをすると下記のエラーが表示されます。

nginx: [emerg] no "ssl_certificate" is defined for the "listen ... ssl" directive in /etc/nginx/nginx.conf:64 nginx: configuration file /etc/nginx/nginx.conf test failed

調べた限り、ssl.certificateが必要だと言われているので64行目に下記を追記し、

ssl_certificate "/etc/pki/nginx/server.crt"; ssl_certificate_key "/etc/pki/nginx/private/server.key";

再びsudo nginx -tをすると、下記のようなエラーが出ます。

nginx: [emerg] "ssl_certificate" directive is not allowed here in /etc/nginx/nginx.conf:73 nginx: configuration file /etc/nginx/nginx.conf test failed

記事通りだとエラーが出ないはずなのですが、エラーが出てしまいます。
nginx.confファイルの設定について、間違っている部分やアドバイスをいただきたいです。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

SSL

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