禁用 ssl/https 重定向 apache2

Posted

技术标签:

【中文标题】禁用 ssl/https 重定向 apache2【英文标题】:Disable ssl/https redirection apache2 【发布时间】:2016-01-26 03:34:59 【问题描述】:

我最近在 apache2 中启用了 ssl,一切进展顺利,但现在每次我尝试访问 http://example.com/ 时都会被重定向到 https://example.com/

我检查了我的 default.conf、apache2.conf 以获取一些说明,但没有找到。

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName example.de
DocumentRoot /var/www
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>
ErrorLog $APACHE_LOG_DIR/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog $APACHE_LOG_DIR/access.log combined

</VirtualHost> <VirtualHost *:443> DocumentRoot /var/www ServerName example.com SSLEngine on SSLCertificateFile /root/server.crt SSLCertificateKeyFile /root/server.key </VirtualHost>

我还仔细检查了所有目录中的 .htaccess 文件。 有没有办法从重定向的位置或内容查找? 还有其他方法可以将所有 http 请求重定向到 https 吗?

【问题讨论】:

这是最近的事,但可能对你有用:***.com/a/33355792/998161! :) 我已经看到 chrome 决定将自己重定向到 https 如果它之前访问过 https 中的 url,清除历史记录/缓存为我解决了这个问题。在开发站点上启用一次 https 后,让我头疼了几分钟。 【参考方案1】:

打开 Chrome 开发者工具,进入网络标签,点击保留日志,然后通过 http 加载您的网站。

如果您看到 301 或 302 重定向到 https,那么服务器上的某些内容会告诉您的浏览器转到 https。

如果您看到 307 重定向到陀螺仪,则该网站已设置或已设置 Strict-Transport-Security(又名 HSTS)标头以强制使用 https,并且 Chrome 已缓存该策略。这是 Web 服务器可用于强制执行 https 的安全功能。检查返回的 HTTP 标头以查看是否是这种情况,如果没有发送此类标头,则您可以通过在地址栏中使用此页面来查看和清除旧策略:chrome://net-internals/#hsts

【讨论】:

以上是关于禁用 ssl/https 重定向 apache2的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess url 重写用于 ssl https 重定向

.htaccess 使用 SSL/HTTPS 将 www 重定向到非 www

text 配置Shopware以进行SSL https重定向

如何使用 301 重定向而不是 302 将 HTTP 站点重定向到 HTTPS 站点

如何停止重定向循环? Ubuntu 上的 Apache2

Apache2不断重定向到默认页面