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 / 问题 / 429274
Accepted
user981178
user981178
Asked: 2012-09-17 12:30:39 +0800 CST2012-09-17 12:30:39 +0800 CST 2012-09-17 12:30:39 +0800 CST

如何在服务器错误之前从 HTTPS 重定向到 HTTP?

  • 772

我曾经使用 SSL 证书运营网站,但已经停止使用 SSL 证书。问题是大多数网站的外部链接都使用 https:// 前缀。

我在 .htaccess 文件中尝试了 https:// 到 http:// 重定向:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}

但是,正如其他地方所指出的那样,服务器似乎正在尝试在激活重定向之前检索证书。因此,在完成重定向之前会显示错误。该错误要么是证书已过期的警告,要么是如果我删除了证书签名请求,则会出现 SSL 收到超过最大允许长度的记录的错误。

有什么方法可以正确重定向传入链接?

http apache-2.2 web-server .htaccess https
  • 3 3 个回答
  • 41554 Views

3 个回答

  • Voted
  1. Best Answer
    sstendal
    2012-09-17T12:49:57+08:002012-09-17T12:49:57+08:00

    http 和 https 之间的区别在于 https 请求是通过 ssl 加密连接发送的。在浏览器发送 http 请求之前,必须在浏览器和服务器之间建立 ssl 加密连接。

    https 请求实际上是通过 ssl 加密连接发送的 http 请求。如果服务器拒绝建立 ssl 加密连接,那么浏览器将没有连接来发送请求。浏览器和服务器将无法相互交谈。浏览器将无法发送它想要访问的 url,服务器将无法通过重定向到另一个 url 来响应。

    所以这是不可能的。如果你想响应 https 链接,那么你需要一个 ssl 证书。

    • 19
  2. Joachim Isaksson
    2012-09-17T12:34:12+08:002012-09-17T12:34:12+08:00

    不,如果可以在没有真实证书的情况下从 https 重定向到 http,那将是一个主要的安全漏洞。

    考虑到犯罪分子能够以某种方式使银行安全服务器重定向到不安全的连接而无需站点的真实 https 证书,这将允许犯罪分子在用户不知情的情况下劫持连接。

    我能看到的唯一解决方案是获得一个便宜的证书,然后从 HTTPS 站点(用户没有有效证书就无法访问)正常重定向到这些外部链接的常规站点。

    • 5
  3. Victor Barbu
    2012-09-17T12:33:52+08:002012-09-17T12:33:52+08:00

    您应该在 .htaccess 中创建

    ErrorDocument 500 http://anotherserer.com/errorPage.php
    
    • -2

相关问题

  • 设置 http 代理以使用 Web 界面?

  • 无法连接到 Ubuntu Desktop 中的端口 80 或 VMWare Workstation 6.52 中的 Server 9.04

  • IIS 7.5 (Windows 7) - HTTP 错误 401.3 - 未经授权

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • Tomcat 6 HTTP 日志滚动和清除

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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