Я использую nginx как обратный прокси-сервер для приложения Rails на моей малиновой пи. Мне удалось заставить его работать в http, но я хочу включить https.Как настроить nginx для работы SSL с Rails?
Проблема в том, что приложение Rails, похоже, не справляется с обработкой https-запросов. Это выход сервера Rails, когда я пытаюсь достигнуть страницы:
ERROR bad Request-Line `\x16\x03\x01\x01\x1C\x01\x00\x01\x18\x03\x03ɳ▒▒▒ ▒▒ڬ▒▒9C▒▒▒=▒▒▒-v_\f▒&▒%9}\x00\x00▒▒0▒,▒(▒$▒\x14▒'.
Я совершенно новой для всего этого, но из моего понимания, я должен каким-то образом общаться мой сертификат и ключ к Rails, так что может расшифровать запрос?
Это приложение, я хочу установить: https://github.com/jcs/lobsters
Вот мой текущий Nginx конфигурации:
upstream lobsters {
server 127.0.0.1:3000;
keepalive 8;
}
## Redirects all HTTP traffic to the HTTPS host
server {
listen 0.0.0.0:80;
server_name lobsters.my.domain;
server_tokens off;
return 301 https://$http_host$request_uri;
access_log /var/log/nginx/lobsters_access.log;
error_log /var/log/nginx/lobsters_error.log;
}
## HTTPS host
server {
listen 0.0.0.0:443 ssl;
server_name lobsters.my.domain;
access_log /var/log/nginx/lobsters_access.log;
error_log /var/log/nginx/lobsters_error.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/lobsters.my.domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/lobsters.my.domain/privkey.pem;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://127.0.0.1:3000;
proxy_redirect off;
proxy_http_version 1.1;
}
}
Спасибо за вашу помощь.
спасибо! Я не понимал, что nginx управляет частью SSL, и после этого я могу переключиться на http. Теперь это намного яснее. –