Включить SSL в приложении Ruby on Rails с Nginx и Puma

Вот мой файл Nginx conf:

upstream app {
  server unix:/home/deploy/example_app/shared/tmp/sockets/puma.sock fail_timeout=0;
}

server {

  listen 80;
  listen 443 ssl;
  # ssl on;
  server_name localhost example.com www.example.com;

  root /home/deploy/example_app/current/public;

  ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;

  try_files $uri/index.html $uri @app;

  location / {
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Connection '';
    proxy_pass http://app;
  }

  location /.well-known { allow all; }

  location ~ ^/(assets|fonts|system)/|favicon.ico|robots.txt {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 4G;
  keepalive_timeout 10;
}

Путь к сертификатам правильный, но когда я захожу на https://example.com/ он всегда загружается.

Есть ли проблемы с моей настройкой SSL?

2 ответа

Решение

Попробуйте SSL Checker, чтобы проверить, является ли SSL проблемой или нет.

Он проверит ваш сертификат сервера и скажет вам, где проблема.

В моем случае я гарантирую, что доменное имя правильно разрешено в IP. Порт 443 разрешен в брандмауэре на моем Ubuntu, а также убедитесь, что сертификат Let's Encrypt установлен на моем сервере правильно.

Я использую AWS EC2, и мне потребовалось несколько часов, чтобы обнаружить, что я забыл добавить HTTPS во входящие правила в группе безопасности экземпляра EC2 .

Я снова могу получить доступ к https: // mydomain сразу после добавления правила в AWS EC2.

Другие вопросы по тегам