我已经在专用服务器上建立了 Drupal 6 站点,并通过安装在其上的“Matrix”控制面板启用了 SSL。
现在的问题是,该网站仅加载来自 https 的页面。大多数图像也无法加载,我推测这与同一件事有关。理想情况下,我希望 http 和 https 都能正常工作,然后我可以对需要安全的页面进行重定向。
尝试加载常规 http 页面时出现的错误是:
**Bad Request** Your browser sent a request that this server could not understand. Reason: You're speaking plain HTTP to an SSL-enabled server port. Instead use the HTTPS scheme to access this URL, please.
有人能给我指出正确的方向吗?
编辑:
在sites-enabled/domainname.co.uk有一个为服务器 IP 设置 <VirtualHost>,使用端口 80,如下所示:
<VirtualHost xx.xx.xx.xx:80>
ServerName xx.co.uk
ServerAlias www.xx.co.uk
ServerAdmin [email protected]
DocumentRoot /home/default/xx.co.uk/user/htdocs
ErrorLog /home/default/xx.co.uk/user/logfiles/error_log
TransferLog /home/default/xx.co.uk/user/logfiles/access_log
php_admin_value open_basedir /tmp:/home/default/xx.co.uk
SuexecUserGroup xx matrixdomain
ScriptAlias /cgi-bin/ /home/default/xx.co.uk/user/htdocs/cgi-bin/
AddHandler server-parsed .shtml
AddType text/html .shtml
<Location />
Options +Includes
</Location>
# Begin user directives <--
# --> End user directives
我需要为 443 再做一个吗?
在端口配置文件我有
名称虚拟主机 *:80 听 80 <IfModule mod_ssl.c> # 基于 SSL 名称的虚拟主机尚不受支持,因此没有 此处为 # NameVirtualHost 语句 收听 443 </IfModule>
答案1
似乎你的 Apache httpd 配置错误,并试图在 HTTP 端口上提供 HTTPS 服务(请查看 Drupal 站点的虚拟主机配置),或者你正在使用类似http://example.com:443/访问您的 Drupal 安装,但这样做也不起作用。
答案2
HTTP 应在端口 80 上提供服务 HTTPS 应在端口 443 上提供服务
您的网站应该能够:http://www.domain.com https://www.domain.com。
可能是以下几种情况之一:
- 您需要手动指定端口,例如,如果您访问http://www.domain.com:443/,这通常会失败
- Web 服务器配置不正确,出于某种原因,在端口 80 上提供 SSL 内容服务。除非您的控制面板中存在错误或其他问题,否则通常不会发生这种情况。您重新启动了 Apache 吗?
- 在drupal配置中,设置网站URL为“http://www.domain.com:443“。这将始终将您转发到此位置,即使您输入http://www.domain.com在您的浏览器中。
- 您已安装 Drupal Secure Pages,但配置不正确。如果您已安装,请访问https://www.domain.com/admin/build/securepages进行配置。
我认为这总结了问题可能是什么,请让我们知道您的解决方案!
答案3
+1 使用安全页面模块(如果您还没有使用)
干杯
答案4
我认为遵循文档将帮助你
引用
Apache:将 http 重定向到 https Apache 安全连接 – 强制 HTTPS 连接
假设您有一个名为http://mail.chida.in并且你想将其重定向到 https 安全连接,即https://mail.chida.in。
这将帮助您远程保护用户隐私和敏感信息,例如用户名和密码。
那么,如何配置 Apache Web 服务器,以防止未经加密就访问您的网站?将 http 重定向到 https Apache 配置
首先确保 Apache 已配置为 HTTPS 连接,并且安装了必要的 SSL 证书。禁止非 SSL 访问,即仅接受 https 连接
现在打开 httpd.conf 或 .htaccess 文件(不需要 mod_rewrite):
配置文件
附加以下行:重定向永久/https://mail.chida.in/ 任何请求http://mail.chida.in将会去https://mail.chida.in/
保存并关闭文件。重新启动 Apache:
/etc/init.d/httpd 重启
这是确保普通用户永远不会使用纯文本 HTTP 协议发送数据的最简单方法。现在这使得嗅探敏感数据变得更加困难。强制通过 SSL https 会话登录 Webmail
因此,如果您想强制用户通过 https 访问他们的网络邮件,请在 .htaccess 文件中添加以下配置:
RewriteEngine 开启 RewriteCond %{HTTPS} 关闭 RewriteRule (.*)https://%{HTTP_HOST}%{请求URI}
确保 httpd.conf(mod_rewrite 支持)中包含以下内容:LoadModule rewrite_module modules/mod_rewrite.so
引用