我已经配置了一些东西,这样我就可以登录并访问在nginx上运行的使用ssl的errbit
我的问题是,我不知道如何设置我的rails应用程序的errbit.rb,以便运行测试
nginx.conf看起来有点像:
server {
listen 443;
ssl on;
ssl_certificate stuff.crt;
ssl_certificate_key stuff.key;
server_name www.whatever.org;
location / {
root /web/stuff;
}
location /errbit {
root /webapps2;
passenger_enabled on;
rails_env development;
passenger_base_uri /errbit;
}
}因此www.whatever.org/errbit显示了errbit
initializers/errbit.rb如下所示:
Airbrake.configure do |config|
config.api_key = 'code'
config.host = 'www.whatever.org/errbit'
config.port = 443
config.secure = config.port == 443
end和运行捆绑包exec rake airbrake:测试结果:
...
Started GET "/verify" for at 2012-09-25 20:37:22 +0100
Raising 'AirbrakeTestingException' to simulate application failure.
** [Airbrake] Failure: Net::HTTPNotFound
** [Airbrake] Environment Info: [Ruby: 1.9.2] [Rails: 3.1.1] [Env: staging]
** [Airbrake] Response from Airbrake:
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.3.5</center>
</body>
</html>并且没有消息到达errbit
这只是一个不可能的问题,还是/errbit有问题?SSL?使用错误的端口?
感谢您提出的任何建议
提前感谢
发布于 2013-03-06 01:44:32
我也遇到了类似的问题,原来我有一个代理服务器阻止了对errbit api的https请求。
如果您确实有阻止连接的代理,则需要在errbit.rb中添加:
config.proxy_host="1.2.3.4"
config.proxy_port=1111
本质上,当出现服务器错误时,连接将从服务器推送到interweb,这是大多数标准代理配置都会阻止的。添加此代理配置不会影响客户端错误(javascript错误),因为在(位于客户端机器上的) errbit的气闸通知器javascript中没有使用(并且正确地)代理配置。
另一个可用的选项是,如果您的errbit应用程序是内部的(除非您知道自己在做什么,否则应该是内部的),您可以将errbit api的内部地址添加到您的应用程序运行的服务器上的etc/hosts文件中。这将阻止应用程序绕过代理尝试连接到内部网络之外。话虽如此,您将无法捕获客户端错误
要添加到etc/hosts文件中,请添加:
1.1.1.1 https://www.whatever.org
希望这能有所帮助
https://stackoverflow.com/questions/12590382
复制相似问题