AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 64430
Accepted
jsims281
jsims281
Asked: 2009-09-12 01:19:09 +0800 CST2009-09-12 01:19:09 +0800 CST 2009-09-12 01:19:09 +0800 CST

SSL - 如何同时使 http 和 https 工作

  • 772

我在专用服务器上建立了一个 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 再做一个吗?

在ports.conf我有

名称虚拟主机 *:80
听 80

<IfModule mod_ssl.c>
    # 还不支持基于 SSL 名称的虚拟主机,因此不支持
    # NameVirtualHost 声明在这里
    听着 443
</IfModule>
apache-2.2
  • 4 4 个回答
  • 47892 Views

4 个回答

  • Voted
  1. Best Answer
    joschi
    2009-09-12T03:45:01+08:002009-09-12T03:45:01+08:00

    似乎您的 Apache httpd 配置错误并尝试在 HTTP 端口上提供 HTTPS(查看您的 Drupal 站点的虚拟主机配置),或者您正在使用类似http://example.com:443/的方案来访问您的Drupal 安装,这也不起作用。

    • 5
  2. Dave Drager
    2009-09-12T05:02:55+08:002009-09-12T05:02:55+08:00

    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进行配置。

    我认为这总结了问题可能是什么,让我们知道您的解决方案!

    • 2
  3. HTTP500
    2009-09-12T09:27:46+08:002009-09-12T09:27:46+08:00

    +1 使用安全页面模块(如果您还没有)

    干杯

    • 0
  4. Rajat
    2009-09-12T12:27:44+08:002009-09-12T12:27:44+08:00

    我关注医生会帮助你

    块引用

    Apache:将 http 重定向到 https Apache 安全连接 - 强制 HTTPS 连接

    假设您有一个名为http://mail.chida.in的 webmail 子域,并且您想将其重定向到 https 安全连接,即https://mail.chida.in。

    这将帮助您远程保护用户隐私和敏感信息,例如用户名和密码。

    那么如何配置您的 Apache Web 服务器,以防止您的网站在未经加密的情况下被访问?将 http 重定向到 https Apache 配置

    首先确保为 HTTPS 连接配置了 Apache,并安装了必要的 SSL 证书。没有非 ssl 访问,即只接受 https 连接

    现在打开 httpd.conf 或 .htaccess 文件(不需要 mod_rewrite):

    vi httpd.conf

    附加以下行:永久重定向/ https://mail.chida.in/对http://mail.chida.in 的任何请求都将转到https://mail.chida.in/

    保存并关闭文件。重启阿帕奇:

    /etc/init.d/httpd 重启

    这是确保普通用户从不使用纯文本 HTTP 协议发送数据的最简单方法。现在,这使得嗅探敏感数据变得更加困难。通过 SSL https 会话强制 webmail 登录

    因此,如果您想强制用户通过 https 访问他们的 webmail,请将以下配置添加到 .htaccess 文件中:

    RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://% {HTTP_HOST}%{REQUEST_URI}

    确保在 httpd.conf(mod_rewrite 支持)中有如下内容:LoadModule rewrite_module modules/mod_rewrite.so

    块引用

    • -1

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve