ruby-on-rails – 我一直得到发送到我的服务器的QUIT和CONNECT HTTP方法,它们是什么意思?

我一直从服务器上得到以下两个错误,我以为他们只是机器人正在寻找潜在目标,但有没有人知道为什么我会得到这些?我正在使用SslRequirement插件来确保登录/注册页面的所有命中都被重定向到SSL,因此所有这些对root的奇怪https请求都应该重定向到常规http.

应用程序#index中发生了一个ActionController :: UnkNownHttpMethod:
退出,接受的HTTP方法是get,head,put,post,delete和options

/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_controller/request.rb:35:in’request_method’

> PATH_INFO:/
> REMOTE_ADDR:99.19.208.249
> REMOTE_PORT:6376
> REQUEST_METHOD:CONNECT
> REQUEST_URI:/
> SERVER_PORT:443
> SERVER_PROTOCOL:HTTP / 1.0
> SERVER_SOFTWARE:Apache

应用程序#index中发生了一个ActionController :: UnkNownHttpMethod:
CONNECT,接受的HTTP方法有get,delete和options

/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_controller/request.rb:35:in’request_method’

> HTTPS:开启
> HTTP_X_FORWARDED_PROTO:https
> PATH_INFO:/
> REMOTE_ADDR:91.209.196.76
> REMOTE_PORT:50751
> REQUEST_METHOD:退出
> REQUEST_URI:/
> SERVER_PORT:443
> SERVER_PROTOCOL:HTTP / 0.9

解决方法

HTTP代理服务器使用 CONNECT命令来指示客户端只想将套接字直接连接到另一个服务器;这通常用于通过HTTP代理隧道传输TLS,但几乎可用于隧道传输任何协议.

QUIT不是HTTP命令,但是它是SMTP command.您可能从试图找到用于发送垃圾邮件的开放中继的机器人获取这些命令;它试图弄清楚你是否有一个开放的SMTP中继,或者一个允许CONNECT命令的开放HTTP代理,它也可以用来隧道SMTP流量.

所以,很可能你只是被垃圾邮件僵尸网络击中,试图找到开放式中继.我的建议是尽早放弃这些请求,而不是担心它们.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...