我最近在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>
我还仔细检查了所有directorys中的.htaccess文件。 有没有办法从哪里或什么是重定向查找? 是否有其他方法可以将所有http请求重定向到https?
答案 0 :(得分:0)
打开Chrome开发者工具,转到网络标签,点击保留日志,然后通过http加载您的网站。
如果您看到301或302重定向到https,则服务器上的某些内容会告诉您的浏览器转到https。
如果您看到307重定向到陀螺仪,那么该网站已经或已经设置了严格传输安全(又名HSTS)标头,以强制使用https,Chrome已缓存该政策。这是Web服务器可用于强制执行https的安全功能。检查返回的HTTP标头,看看是否是这种情况,如果没有发送这样的标题,你可以通过在地址栏中使用此页面来查看和清除旧策略:chrome:// net-internals / #hsts