【问题标题】:How can I configure phusion passenger with nginx to support ssl in rails?如何使用 nginx 配置 phusion 乘客以支持 Rails 中的 ssl?
【发布时间】:2016-02-02 20:22:48
【问题描述】:

我按照 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 请求(都通过工头)。我知道这很 hacky,所以我正在寻找更好的基于乘客的解决方案。

【问题讨论】:

    标签: ruby-on-rails ssl nginx https passenger


    【解决方案1】:

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

    【讨论】:

    • 我试过:ssl on;在 server {} 块内。重新启动 nginx,我的应用似乎没有修复错误
    • 您是否仍然收到相同的错误或不同的错误?
    猜你喜欢
    • 2012-06-23
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 2014-09-26
    • 1970-01-01
    相关资源
    最近更新 更多