Ответ 1
Я только что сделал деление на сам SSL и нашел статью на DigitalOcean о том, как это сделать. Это может быть listen 443 default deferred;
, который согласно этой статье должен быть ssl
not deferred
.
Здесь используется блок nginx,
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
root /usr/share/nginx/html;
index index.html index.htm;
server_name your_domain.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
try_files $uri $uri/ =404;
}
}
UPDATE:
Теперь у меня есть собственный сайт, работающий на SSL. Наряду с вышеизложенным я просто сказал Rails, чтобы заставить SSL. В конфигурации вашей производственной среды
# ./config/environments/production.rb
config.force_ssl = true
По желанию вы можете добавить эти настройки в nginx.conf
;
http {
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
keepalive_timeout 70;
}
ОБНОВЛЕНИЕ: 2015-09
Поскольку я написал этот ответ, я добавил несколько дополнительных вещей в конфигурацию nginx
, которые, как я полагаю, также должны включать в себя. Добавьте в блок server
следующее:
server {
ssl_prefer_server_ciphers On;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
add_header X-Frame-Options DENY;
}
Первые три строки (ssl_prefer_server_ciphers
, ssl_protocols
, ssl_ciphers
) являются наиболее значимыми, так как они обеспечивают хорошие сильные настройки SSL.
X-Frame-Options
предотвращает включение вашего сайта с помощью тегов <iframe>
. Я ожидаю, что большинство людей выиграют от включения этой настройки.