标签: ruby-on-rails

如何在 nginx 中强制或重定向到 SSL?

我在子域上有一个注册页面,例如: https://signup.example.com

它应该只能通过 HTTPS 访问,但我担心人们可能会以某种方式通过 HTTP 偶然发现它并获得 404。

我在 nginx 中的 html/server 块如下所示:

html {
  server {
    listen 443;
    server_name signup.example.com;

    ssl                        on;
    ssl_certificate        /path/to/my/cert;
    ssl_certificate_key  /path/to/my/key;

    ssl_session_timeout 30m;

    location / {
      root /path/to/my/rails/app/public;
      index index.html;
        passenger_enabled on;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以添加什么以便去的人http://signup.example.com被重定向到https://signup.example.com?(仅供参考,我知道有些 Rails 插件可以强制使用,SSL但希望避免这种情况)

ssl nginx redirect ruby-on-rails

234
推荐指数
5
解决办法
31万
查看次数

防止邮件被标记为垃圾邮件

这是一个关于避免外发邮件被归类为垃圾邮件的规范问题
还相关:

我想知道如何防止来自我网站的电子邮件被标记为垃圾邮件?我正在使用发送邮件。

我正在尝试通过我的 ruby​​-on-rails 应用程序发送电子邮件。邮件都是用瑞典语写的(如果这确实有所作为?)。我不知道为什么他们总是被标记为垃圾邮件。

有什么我可以做的事情来最小化风险吗?

email debian spam sendmail ruby-on-rails

30
推荐指数
2
解决办法
1万
查看次数

我应该将 Rails 应用程序部署到哪个目录?

在 Linux 系统上部署我的生产 Rails 应用程序的合理且合乎逻辑的目录是什么?

一些候选人...

/var/rails  <= There's a /var/www so this would be consistent with that 
               pattern. But I.T. guys have complained about stuff in /var 
               before.

/home/my_home_dir/rails  <= OK, not /var, but I'm not the only developer. 
                            Seems like it really ought to be a systemwide
                            location.

/home/rails  <= I don't know. That just seems weird.

/rails  <= Seems even weirder.
Run Code Online (Sandbox Code Playgroud)

在这里做的最不令人惊讶、最正常的事情是什么?

(背景信息——Rails 应用程序是一堆用 Ruby 编写的服务器端代码以及一个public包含 JavaScript、CSS 和一些 HTML 的public目录。该目录被映射到一个 Apache vhost。Apache 通过一个模块处理 …

linux deployment redhat ruby-on-rails apache-2.2

24
推荐指数
3
解决办法
7971
查看次数

将版本化 S3 存储桶恢复到特定时间点

假设我为我的存储桶启用了 S3 版本控制:http : //docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html

然后,假设某人(例如,初级员工)弄乱了 S3 存储桶(意外删除了一些文件等)

然后如何将整个版本化存储桶恢复到特定时间点?我相信考虑到 S3 的 API,这应该是可能的,但我宁愿不必自己编写这样的脚本,因为害怕遗漏一些东西(我不是 AWS 专家)。

这个问题有没有好的解决方案?我使用 S3 存储桶作为我的 Rails 应用程序的图像存储,因此我可以将其用作 rake 任务的基于 Ruby 的东西将是理想的选择。

amazon-s3 ruby-on-rails amazon-web-services

19
推荐指数
1
解决办法
1万
查看次数

每个 CPU 独角兽进程的最佳数量

我们正在 Unicorn 下运行 Ruby on Rails 网络应用程序。我们的应用程序不受 CPU 限制(我们有一个双 Xeon E5645 系统,带有 12 个内核,峰值负载平均值约为 6)。我们最初有 40 个 Unicorn 工作人员,但随着时间的推移,应用程序内存占用量增加。所以,现在我们必须减少工作进程的数量。我认为标准(CPU 内核数 + 1)公式也适用于 Unicorn,但我的同事试图说服我我们应该为每个 CPU 保留更多 Unicorn 实例并提供此链接。然而,我不确定为什么我们需要在空闲的 Unicorn 进程上花费这么多内存。

我的问题是:每个 CPU 内核有多个 Unicorn 实例的原因是什么?是因为 Unicorn 的一些建筑特性吗?我知道忙碌的 Unicorn 进程无法接受新连接(顺便说一句,我们使用 UNIX 域套接字与 Unicorn 实例进行通信),但我认为引入 backlog 正是为了解决这个问题。无论如何,是否有可能克服每个 CPU 规则的 2 到 8 个 Unicorn 实例?

web-server ruby-on-rails unicorn

16
推荐指数
2
解决办法
9597
查看次数

重启Apache的不同方法?

我在这里有一个 Apache 问题。

在我作为开发人员的整个职业生涯中,我一直像这样重新启动 Apache:

sudo /etc/init.d/apache2 restart
Run Code Online (Sandbox Code Playgroud)

我今天刚刚部署了我的第一个 Rails 应用程序,但是我无法让 Apache 在主机上重新启动。当我以这种方式尝试时,Apache 会尝试重新启动,但最终会挂起。

然而,这工作得很好:

sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)

这两种技术有什么区别?我曾假设后者充其量只是第一个的“语法糖”,但事实并非如此,因为后者有效而前者无效。

如果它是相关的(我怀疑它可能是相关的),这个 Rails 应用程序使用 Phusion Passenger。我之前的开发经验(前一种方法工作正常)主要是使用 PHP。我对 Rails 很陌生。

有问题的服务器运行 Ubuntu 11.04 (Natty)。

ruby-on-rails phusion-passenger apache-2.2

12
推荐指数
1
解决办法
1043
查看次数

跨地域不同服务器的 MySQL 复制

我的组织一直在研究如何在地理上分布我们的服务器,同时保持备份非常最新,并在理想情况下分散负载。

我首先想到的是 MySQL 上的 Rails。写入速率不太高(文章/评论每分钟不到 1 条,尽管有些有大媒体附件)。

所以,

  • MySQL 复制在广域网中运行良好吗?
  • 连接(或从服务器)断开是否意味着需要手动干预(一旦两台服务器可以再次相互通信)或者恢复是自动的?
  • 如果主人消失了,从奴隶变成主人需要什么?是否有标准脚本/工具来帮助管理?
  • 任何其他问题等?

mysql mysql-replication ruby-on-rails

11
推荐指数
1
解决办法
2227
查看次数

Amazon EC2 Ami 推荐的免费套餐?

亚马逊网络服务最近推出了一个免费套餐,您基本上可以免费获得试用 AWS 和运行小型网站和项目的东西。基本上它是免费的,只要您保持在一定的带宽、磁盘存储等限制以下。

由于超出限制很快就会变得非常昂贵(对于业余爱好者),我想要一些关于我可以在免费层上运行哪些 AMI 的建议或建议,以便尝试 Ruby on Rails 和/或 Django。

django ruby-on-rails amazon-ec2

11
推荐指数
1
解决办法
7100
查看次数

如何设置 Redmine =&gt; Active Directory 身份验证?

首先,我不是现场的 AD 管理员,但我的经理要求我尝试将我的个人 Redmine 安装与 ActiveDirectory 集成,以便对其进行测试以进行更大规模的部署。

我们的 AD 服务器在 host:port 上ims.example.com:389,我有一个 user IMS/me

现在,我me在 Redmine 中也有一个使用本地身份验证的用户。

我在 RedMine 中使用以下参数创建了一个 ActiveDirectory LDAP 身份验证方法:

Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail
Run Code Online (Sandbox Code Playgroud)

测试此连接工作正常。

但是,我没有成功通过它进行身份验证。

我已经创建了一个备份管理员用户,这样我就可以在发生me故障时重新访问该帐户,然后我尝试更改me为使用 ActiveDirectory 凭据。但是,一旦我这样做,就无法登录。我已经尝试了所有这些登录名选项:

  • me
  • IMS/me
  • IMS\me

我使用了我已知的域密码,但没有任何乐趣。

那么,我有什么设置错误,或者我需要获取哪些信息才能使这项工作发挥作用?

active-directory ldap authentication redmine ruby-on-rails

10
推荐指数
2
解决办法
3万
查看次数

API 管理解决方案

我目前正在构建一个 API 并且正在寻找一种工具来允许我监视(在 GUI 中)和速率限制使用情况。我遇到了一些企业解决方案,包括:

Apigee 企业计划正是我正在寻找的,但计划的起价为 3000 美元/月,超出了我的价格范围。其他解决方案要么太贵,要么不提供我正在寻找的解决方案。

这让我看到了一些开源选项,包括:

清漆似乎是一个相当完整的解决方案;但是,我需要构建一个 GUI 来可视化数据。

我的最后一个选择是使用 EventMachine 和 ruby​​ 从头开始​​构建解决方案。

有什么建议吗?

monitoring nginx proxy ruby-on-rails

9
推荐指数
1
解决办法
1259
查看次数