2013-10-16 103 views
0

我正在运行一个Rails应用程序,该应用程序强制SSL并在流动虚拟机内部使用HTTP基本身份验证。如果我努力使卷曲请求应用程序从我的主机我得到SSL通过流浪通过薄连接

curl -k --verbose https://[user]:[password]@localhost:3001/ 
* About to connect() to localhost port 3001 (#0) 
* Trying ::1... 
* Connection refused 
* Trying fe80::1... 
* Connection refused 
* Trying 127.0.0.1... 
* connected 
* Connected to localhost (127.0.0.1) port 3001 (#0) 
* SSLv3, TLS handshake, Client hello (1): 
* Unknown SSL protocol error in connection to localhost:3001 
* Closing connection #0 
curl: (35) Unknown SSL protocol error in connection to localhost:3001 

如果我做出同样的卷曲请求,从虚拟机里面的工作

curl -k --verbose https://[user]:[password]@localhost:3001/ 
* About to connect() to localhost port 3001 (#0) 
* Trying 127.0.0.1... 
* Connected to localhost (127.0.0.1) port 3001 (#0) 
* successfully set certificate verify locations: 
* CAfile: none 
    CApath: /etc/ssl/certs 
* SSLv3, TLS handshake, Client hello (1): 
* SSLv3, TLS handshake, Server hello (2): 
* SSLv3, TLS handshake, CERT (11): 
* SSLv3, TLS handshake, Server finished (14): 
* SSLv3, TLS handshake, Client key exchange (16): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSLv3, TLS change cipher, Client hello (1): 
* SSLv3, TLS handshake, Finished (20): 
* SSL connection using AES256-SHA 
* Server certificate: 
* subject: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd 
* start date: 2013-10-15 19:38:54 GMT 
* expire date: 2023-10-13 19:38:54 GMT 
* issuer: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd 
* SSL certificate verify result: self signed certificate (18), continuing anyway. 
* Server auth using Basic with user 'admin' 
> GET/HTTP/1.1 
> Authorization: Basic [stuff] 
> User-Agent: curl/7.29.0 
> Host: localhost:3001 
> Accept: */* 
> 
< HTTP/1.1 200 OK 
< Strict-Transport-Security: max-age=31536000 
< X-Frame-Options: SAMEORIGIN 
< X-XSS-Protection: 1; mode=block 
< X-Content-Type-Options: nosniff 
< X-UA-Compatible: chrome=1 
< Content-Type: application/json; charset=utf-8 
< ETag: "80961ae530b068989bbd4463b2fb6308" 
< Cache-Control: max-age=0, private, must-revalidate 
< Set-Cookie: request_method=GET; path=/; secure 
< X-Request-Id: 9d0426ec-eca2-469a-9e36-14c79d69596a 
< X-Runtime: 0.894703 
< Connection: close 
< Server: thin 1.5.1 codename Straight Razor 
< 
* Closing connection 0 
* SSLv3, TLS alert, Client hello (1): 
[page] 

我在开始薄使用自签名证书的VM我创建并添加到我的Mac钥匙串

bundle exec thin start --ssl --ssl-key-file /etc/ssl/server.key --ssl-cert-file /etc/ssl/server.crt -p 3001 

我看到的问题是“未知的SSL协议错误”,但没有我发现网上有帮助的。从输出中你可以看到他们都使用SSLv3。密钥没有过期。我什么都没有,帮忙。

+0

您是否在Vagrant配置中(或直接在VirtualBox中)配置主机和来宾之间的端口转发? – Bruno

+0

在流浪文件 –

+1

你确定考虑到这个端口转发(你可以在VirtualBox设置中检查)吗? – Bruno

回答

0

端口转发在Vagrantfile中设置不正确。我连接到postgresql而不是Thin,因此连接但SSL错误。复制粘贴错误。