我在CentOS上使用Drupal 6和最新的服务模块运行LAMP堆栈.在HTTP上,我运行的REST服务器工作正常并且按预期运行.
当我安装SSL证书时,我将所有端口80流量强制为443(SSL).这适用于Drupal但导致REST服务器不返回任何数据.当然,我已经删除了强制SSL,暂时允许HTTP和HTTPS.
我正在通过fiddler进行测试,当用于通过HTTP访问端点时,返回预期的数据.通过HTTPS测试我没有收到任何数据.我是否需要对REST服务器进行配置更改(即我在文档中遗漏了一些内容).
在此先感谢您的支持!
编辑
为了清楚地显示差异,我向终点发出了一个匿名的POST请求(它可能是一个GET请求,终点没有真正的方法,但因此返回一条消息让我们知道它仍然存在).我得到了终点通过HTTP运行的成功消息.然而,HTTPS根本不返回任何数据.我在下面的图片中显示了这一点.
HTTP
HTTPS
.conf SSL规则
这些行不再使用,而是在这里说明我在做什么.
#RewriteCond %{SERVER_PORT} !^443$ #RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
EDIT2:
我在Drupal论坛搜索http://drupal.org/node/704308中找到了相关内容
解决方法
你描述的内容听起来像是这两个中的一个:
>有些东西没有收听它应该监听的端口.如果Apache将请求转发给损坏的套接字,那么我希望它会返回500错误代码,因此我们的目标是尝试找出消息的去向,应用程序正在侦听的端口,是否是REST应用程序甚至支持HTTPS握手,依此类推.
> Apache不会像在端口80上解释请求那样在端口443上解释您的请求.这听起来有点可疑,因为您说Drupal工作超过443但是您编写的内容根本不生成头文件 – 如果Apache将您的API请求转发到您的Drupal应用程序,那么当它无法正确解释API请求时,您至少会看到标题,404等.
没有更多信息,我不确定我们可以提供帮助.