错误代码:ssl_error_rx_record_too_long for https in nginx on ruby​​ on rails application

God*_*God 9 ssl https ruby-on-rails nginx ruby-on-rails-3

我的应用程序使用rails 3.2和ruby 1.9,必须在我的系统上使用https://welcome.com这样的域名运行https应用程序.所以我通过为域名和https创建ssl证书来配置我的nginx

短信的短信:

# HTTPS server
#
server {
    listen 443 ssl;
server_name welcome.com;

root html;
index index.html index.htm;

ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

ssl_session_timeout 5m;
}
Run Code Online (Sandbox Code Playgroud)

我可以通过调用welcome.com和https://welcome.com查看nginx主页.没有运行rails应用程序

我的应用程序也成功运行在端口443中,但在浏览器中查询后,如https://welcome.com

Rails终端显示错误:

 ERROR bad Request-Line `\x16\x03\x01\x00?\x01\x00\x00?\
 ERROR bad URI `._i\b8\x10?yA?^6?v?M|
Run Code Online (Sandbox Code Playgroud)

在浏览器抛出错误:

SSL received a record that exceeded the maximum permissible length.

(Error code: ssl_error_rx_record_too_long)
Run Code Online (Sandbox Code Playgroud)

甚至尝试过重复清除浏览器历史记录,但结果是一样的.

我不确定我做错了什么,任何人都可以帮助我吗?

我在证书创建方面有任何错误吗?

小智 11

您不能同时拥有listen 443 ssl; ssl on;删除该ssl on;行并重新启动nginx.