从https重定向到http而没有我的网站的证书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从https重定向到http而没有我的网站的证书相关的知识,希望对你有一定的参考价值。
我想重定向以下所有网址:
1- https://www.example.com
2- http://www.example.com
3- example.com
到这个单一的网址
呜呜呜.example.com
这是htaccess,但它不适用于https案例。我仍然没有证书但不希望用户看到警告页面,直到我可以对其进行排序。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] [R=301,L]
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.uk$ [NC]
RewriteRule ^(.*)$ http://www.example.uk/$1 [R=301,L]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.uk
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<Files .htaccess>
order allow,deny
deny from all
</Files>
</IfModule>
答案
您无法绕过安全警告,因为安全警告是在检测到无效证书时由浏览器生成的。
通过https连接到网站时,第一步是设置加密和解密将要发送的数据所需的密钥。客户端(在这种情况下是浏览器)的任务是验证用于加密和解密的密钥是否有效。这意味着证书是针对它想要发送/接收数据的域发出的,证书尚未过期,证书尚未撤回,证书是由客户信任的人签署的。所有这些都发生在浏览器从服务器接收任何非协议数据之前。
解决您问题的唯一方法是为您的网站安装有效的证书。您可以使用LetsEncrypt安装免费证书。有关如何设置证书以及如何设置自动续订的详细信息,请参阅其网站。
以上是关于从https重定向到http而没有我的网站的证书的主要内容,如果未能解决你的问题,请参考以下文章
在没有 SSL 的情况下将 https 重定向到 http - IIS 7
如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点
如何从 HTTPS 重定向到 HTTP 而不会出现烦人的错误消息