我按照DigitalOcean上的说明进行操作:https://www.digitalocean.com/community/tutorials/how-to-create-an-ssl-certificate-on-nginx-for-ubuntu-14-04

这是我的nginx.conf文件...似乎不起作用。

events {
    worker_connections  1024;
}

http {

  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 10m;
  keepalive_timeout 70;

  server {
    listen 80;
    listen 443;
    ssl on;

    server_name localhost;

    ssl_certificate /Users/sambit/Documents/Projects/SBOOKS/nginx.crt;
    ssl_certificate_key /Users/sambit/Documents/Projects/SBOOKS/nginx.key;

    # Extra protections
    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;

    gzip            on;
    gzip_min_length 1000;
    gzip_proxied    expired no-cache no-store private auth;
    gzip_types      text/plain application/font-woff2 application/x-javascript text/css application/javascript text/javascript text/xml application/json application/vnd.ms-fontobject application/x-font-opentype application/x-font-truetype application/x-font-ttf application/xml font/eot font/opentype font/otf image/svg+xml;

    # Tell Nginx and Passenger where your app's 'public' directory is
    root /Users/sambit/Documents/Projects/SBOOKS/public;

    location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
      gzip_static       on;
      expires           max;
      add_header        Cache-Control public;
      add_header        Last-Modified "";
      add_header        ETag "";
    }

    # Turn on Passenger
    passenger_enabled on;
    passenger_ruby /Users/sambit/.rvm/rubies/ruby-2.2.2/bin/ruby;
  }
}


我正在尝试在Mac上进行测试。(el capitan)

我在Chrome中收到的错误是(ERR_SSL_PROTOCOL_ERROR)


我也在7200端口上与领班一起运行我的Rails应用程序


foreman start -p 7200

我的临时解决方案是使用乘客来服务http请求,并在同一台机器上生成puma来处理https请求(均通过领班)。我知道这很棘手,所以我正在寻找更好的基于乘客的解决方案。

最佳答案

乘客作者在这里。您还必须设置ssl on

10-07 19:52