ruby-on-rails - 使用 rails 应用程序安装 ssl 证书的 nginx 配置

标签 ruby-on-rails ssl nginx passenger

我有一个站点,是我在 nginx 服务器上使用 ruby​​ on rails 和 passenger 构建的。我的客户决定安装 ssl 证书。我是这类问题的新手,我以前从未做过,我需要确认我的站点启用/默认文件配置正确。 我当前的配置是:

server {
       listen 80;
       listen [::]:80 ipv6only=on;
       server_name www.mysite.com;
       passenger_enabled on;
       rails_env    production;
       root         /home/directory;

       # redirect server error pages to the static page /50x.html
       error_page   500 502 503 504  /50x.html;
       location = /50x.html {
           root   html;
       }

   }

为了添加 ssl 证书,我将添加另一个服务器 block ,如下所示:

server {
      listen 443;
      server_name www.mysite.com;
      passenger_enabled on;
      rails_env    production;
      root         /home/directory;

      ssl                  on;
      ssl_certificate      /etc/ssl/my_certificate;
      ssl_certificate_key  /etc/ssl/my_private_key;

      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers   "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";

      ssl_prefer_server_ciphers   on;
      ssl_session_timeout  10m;
      ssl_session_cache shared:SSL:10m;
      ssl_stapling on



      # redirect server error pages to the static page /50x.html
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   html;
      }

  }
  • 配置 nginx 的方法和参数是否正确,或者我需要将它们组合在一个服务器 block 中?

  • 我是否应该在之前的配置中添加任何遗漏的东西?

  • 在 :server_name www.mysite.com; 我可以用我的 IP 地址代替域名吗?

提前感谢您的时间

最佳答案

  • 您可以在同一服务器部分拥有 HTTP 和 HTTPS 服务器

    服务器 { 听80; 听 [::]:80 ipv6only=on; 听 443 SSL; ... }

  • 对于完整的 SSL 相关配置,我建议使用 Mozilla generator

  • 是的,但你不应该。即使您没有正确设置 server_name,Nginx 也会匹配您的第一个服务器部分,但这样的配置很难支持和排除故障

关于ruby-on-rails - 使用 rails 应用程序安装 ssl 证书的 nginx 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50542365/

相关文章:

ruby-on-rails - 如何使用 capistrano 3 部署特定版本

ruby-on-rails - 设计限制注册到管理员

asp.net - 代理背后的安全表单例份验证

Oracle PDO OCI 字符集失败

ruby-on-rails - 保存主对象时,ActiveRecord 是否保存了belongs_to 关联?

ruby-on-rails - 如果没有关联,RoR 允许删除

ssl - 使用 SSL 的雅司给出错误 "SSL accept failed: timeout"

从非 ssl 端口 8080 重定向到 ssl 端口 8443

linux - 如何让Nginx虚拟主机正常工作? (找不到网页)

django - Nginx,无法 fork : Cannot allocate memory