我的应用程序使用 Rails 3.2 和 Ruby 1.9,必须在 https 中运行应用程序,域名如 https://welcome.com在我的系统上。所以我通过为域名和 https 创建 ssl 证书来配置我的 nginx
ssl 的快照:
# 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;
}
我可以通过调用 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|
在浏览器中抛出错误:
SSL received a record that exceeded the maximum permissible length.
(Error code: ssl_error_rx_record_too_long)
甚至多次尝试清除浏览器历史记录,但结果都是一样的。
我不确定我做错了什么,有人可以帮助我吗?
我在创建证书时有什么错误吗?
最佳答案
你不能同时拥有listen 443 ssl;
和 ssl on;
,移除ssl on;
行并重新启动 nginx。
关于ruby-on-rails - 错误代码 : ssl_error_rx_record_too_long for https in nginx on ruby on rails application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262186/