以下是目前为止的故事:
- Wordpress 网站使用 Really Simple SSL 和 Cloudflare SSL 进行 SSL
- 我决定从 Hostgator 迁移到 DigitalOcean,并且不想在迁移完成且 100% 正常运行之前更改域名服务器
- 我在 DigitalOcean 上使用虚拟主机设置了一个非 SSL droplet(因为单个 VPS 上有多个域名)
- 我正在编辑本地 hosts 文件以访问和查看新的 Wordpress 设置
- 我无法在 droplet 上设置 SSL,因为您需要一个域名,而我的域名仍然指向我的实时网站
- 我使用 Updraft 迁移了数据库,但由于 SSL 重定向和连接失败,无法访问管理区域
- 我通过编辑 WP-Config 文件中的 WP_HOME 和 WP_SITEURL 值来处理这个问题,并成功登录 Wordpress
- 我迁移了插件(通过 Updraft)、其他插件(通过 Updraft)和上传(SFTP)
- 当我尝试访问该网站时,遇到了 SSL 问题,无法进入
- 我手动停用了 Really Simple SSL 插件(按照他们的说明),但问题并没有解决
- 我删除了 MYSQL 数据库并重新创建它,重新安装了 Wordpress 并登录,然后使用卸载的 Really Simple SSL 再次恢复数据库
- 我现在能够以非 SSL 方式访问网站后端,但前端仍然重定向到 SSL 并失败(奇怪)
这就是旅程。
以下是这个谜题的其他部分:
- 我的 wp-config 仍然有 http 版本的 WP_HOME 和 WP_SITEURL
- 我的 htaccess 文件中没有重定向
- 未激活任何插件
- 我的虚拟主机文件没有引用 SSL
- 我尝试过多种浏览器的隐身/隐私模式
- 我已经刷新了我的电脑 DNS
尽管如此,后端仍可通过非 SSL 访问,但前端重定向到 SSL 并失败。
我的力量已经到达极限。
我错过了什么?
请帮我解开这个谜团。
干杯!
更新:
这是该域名的虚拟主机文件(用“domain.com”代替我的域名):
<VirtualHost *:80>
#ServerAdmin webmaster@localhost
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/domain.com>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
答案1
我的 mu-plugins 文件夹中有一个强制使用 SSL 的 php 脚本。我通过重命名文件夹并进行测试来识别此问题,直到我隔离了包含脚本的文件夹,然后停用了该脚本。
这个 SSL 脚本肯定是以前某个开发人员在我不知情的情况下添加的。
希望这段经验能够对未来的其他人有所帮助。