小编cod*_*ger的帖子

Rails + PostgreSQL SSL解密失败

我在我的生产服务器上运行了一个应用程序,它使用pggem与Postgres数据库进行通信.Postgres正在默认端口上运行,并且位于防火墙后面 - 所以除了以外的任何东西都无法访问它localhost.我没有配置Postgres做任何与SSL相关的事情.

我正在通过SSL访问Rails应用程序,并且证书已经签署了另一个域,因此第一次点击它时,会出现证书错误...但这是SSL相关的唯一奇怪的事情.

然而,我在我的Rails日志中间歇性地看到这一点(当浏览器发生时伴随着500错误):

Started GET "/admin/pages" for <xxx.xxx.xxx.xxx> at 2012-02-02 01:52:03 -0500
Processing by PagesController#index as HTML
Completed 500 Internal Server Error in 4ms

ActiveRecord::StatementInvalid (PGError: SSL error: decryption failed or bad 
record mac
: SELECT "pages".* FROM "pages" ):
  app/controllers/pages_controller.rb:36:in `index'
Run Code Online (Sandbox Code Playgroud)

我勒个去?

ruby sql postgresql ruby-on-rails

10
推荐指数
1
解决办法
4222
查看次数

使用Upstart管理Unicorn w/rbenv + bundler binstubs w/ruby​​-local-exec shebang

好吧,这正在融化我的大脑.这可能与我不理解Upstart以及我应该理解的事实有关.提前抱歉,这个问题很长.

我正在尝试使用Upstart来管理Rails应用程序的Unicorn主进程.这是我目前的/etc/init/app.conf:

description "app"

start on runlevel [2]
stop on runlevel [016]

console owner

# expect daemon

script
  APP_ROOT=/home/deploy/app
  PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:$PATH
  $APP_ROOT/bin/unicorn -c $APP_ROOT/config/unicorn.rb -E production # >> /tmp/upstart.log 2>&1
end script

# respawn
Run Code Online (Sandbox Code Playgroud)

这很好 - 独角兽开始很棒.不太好的是,检测到的PID不是独角兽大师,而是一个sh过程.这本身并不是那么糟糕 - 如果我没有使用自动化的Unicorn零停机时间部署策略.因为我发送-USR2给我的独角兽大师后不久,一个新的主人产生了,旧的主人死了......这个sh过程也是如此.所以Upstart认为我的工作已经死了,如果我愿意,我不能再用它重新启动restart或停止它stop.

我玩过配置文件,试图将-D添加到Unicorn线(如下$APP_ROOT/bin/unicorn -c $APP_ROOT/config/unicorn.rb -E production -D:)以守护Unicorn,我添加了这expect daemon条线,但这也没有用.我也试过expect fork了.所有这些事情的各种组合都可能导致startstop挂起,然后Upstart对工作状态感到困惑.然后我必须重新启动机器来修复它.

我认为Upstart在检测何时/如果Unicorn正在分叉时遇到问题,因为我ruby-local-exec在我的$APP_ROOT/bin/unicorn脚本中使用了rbenv + shebang .这里是:

#!/usr/bin/env ruby-local-exec
#
# …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails upstart unicorn

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

在Cocoa中获取机器唤醒+用户登录通知的可靠方法?

我试着注册了NSWorkspaceDidWakeNotification[NSNotificationCenter defaultCenter],但是当我的MacBook Pro从睡眠状态唤醒它永远不会触发.我注册了火灾的其他通知,所以这不是我如何注册它的问题.

基本上我需要在用户的机器从睡眠中唤醒,并且用户已经重新登录,或者机器已经唤醒并且用户回到他们的帐户中时,如果没有向他们显示登录屏幕,则需要得到通知.如果我必须处理多个通知,那也没关系.

有什么想法吗?

谢谢!
科迪

macos cocoa objective-c

4
推荐指数
1
解决办法
789
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

cocoa ×1

macos ×1

objective-c ×1

postgresql ×1

sql ×1

unicorn ×1

upstart ×1