我正在尝试访问github的存储库,git fetch但我收到此错误:
error: SSL: certificate subject name (*.opendns.com) does not match target host name 'github.com' while accessing https://github.com/<repo name>
Run Code Online (Sandbox Code Playgroud)
这件事突然发生在今天下午早些时候,并没有消失.我认为Github拒绝旧版本的OpenSSL可能会出现问题.
我正在运行Ubuntu 11.04(Natty Narwhal),Git 1.7.4.1,并
openssl version -a给出了这个:
OpenSSL 0.9.8o 01 Jun 2010
built on: Tue May 22 23:20:32 UTC 2012
platform: debian-i386
options: bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) blowfish(idx)
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -
DHAVE_DLFCN_H -DL_ENDIAN -DTERMIO -O3 -Wa,--noexecstack -g -Wall
OPENSSLDIR: "/usr/lib/ssl"
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
更新2014年5月1日:
结束更新Ubuntu来解决这个问题.在某处读取这是最安全的解决方案,因为我的本地计算机和Github的服务器将尽可能彼此保持最新.
我在Ruby on Rails中遇到了一些奇怪的东西.我正在开发一个网站,允许用户购买某些东西并进行多步结算流程.我使用会话对象作为哈希来将数据传递给控制器中的其他操作.
这是它的基本外观
class CheckoutController < ApplicationController
def index
#stuff
end
def create
#stuff
session[:checkout_data] = {} #initialize all the checkout data as hash
# Insert the :items_to_purchase key with the value as a new Items model instance
session[:checkout_data][:items_to_purchase] = Items.new(post_data_params) #as an example
redirect_to :action => 'billing_info'
end
Run Code Online (Sandbox Code Playgroud)
所以我使用Items模型在表单的第一个POST请求中创建了一些数据.让我们转到用户输入结算信息的下一页.
def billing_info
if request.get?
@items_to_purchase = session[:checkout_data][:items_to_purchase]
end
if request.post?
# ...
end
end
end
Run Code Online (Sandbox Code Playgroud)
我的问题就在于此
@items_to_purchase = session[:checkout_data][:items_to_purchase].
Run Code Online (Sandbox Code Playgroud)
密钥:items_to_purchase不存在,而是'items_to_purchase'密钥.发生了什么?我特意将该键初始化为符号而不是字符串!Ruby改变了我的背后!如果我只有一个平面哈希,它似乎不会这样做,但是使用这些嵌套哈希,会出现此问题.
有人对正在发生的事情有任何见解吗?