You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何阻止EC2上AMIMOTO WordPress站点HTTP自动跳转到HTTPS

解决AMIMOTO WordPress环境下HTTP强制重定向到HTTPS的问题

我刚好对AMIMOTO的WordPress环境比较熟悉,这种无证书却被强制跳转到HTTPS的情况,通常来自几个常见的配置点,咱们一步步排查解决:

1. 检查WordPress站点基础设置

首先尝试登录你的WordPress后台(如果还能通过http://XXX.XXX.XXX.XXX/wp-admin访问的话),找到设置 > 常规

  • 查看「WordPress地址(URL)」和「站点地址(URL)」,如果这两个地址是https://XXX.XXX.XXX.XXX,直接改成http://XXX.XXX.XXX.XXX,保存设置。
  • 如果后台因重定向无法访问,你可以通过数据库修改:登录EC2的数据库(比如用phpMyAdmin或命令行mysql),找到wp_options表,修改siteurlhome这两个选项的值为HTTP地址。

2. 清理.htaccess文件中的重定向规则

AMIMOTO默认会在网站根目录(一般是/var/www/html)生成.htaccess文件,里面可能包含强制HTTPS的规则:

  • 登录EC2实例(通过SSH),进入网站根目录:cd /var/www/html
  • 编辑.htaccess文件:nano .htaccess
  • 找到类似下面的规则,删掉或者用#注释掉:
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
  • 保存退出(nano里按Ctrl+O,回车,再Ctrl+X

3. 检查Nginx配置中的重定向

AMIMOTO用Nginx作为前端服务器,可能在Nginx配置里加了强制HTTPS的规则:

  • 进入Nginx配置目录,比如cd /etc/nginx/conf.d/或者cd /etc/nginx/sites-available/
  • 编辑对应站点的配置文件(比如default.conf
  • 查找有没有类似下面的代码,删掉或者注释:
    return 301 https://$host$request_uri;
    
    或者带条件的:
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
    
  • 重启Nginx生效:sudo systemctl restart nginx

4. 禁用强制HTTPS的插件

有些WordPress安全类插件(比如Really Simple SSL、Wordfence等)会自动开启强制HTTPS:

  • 如果能登录后台,到插件 > 已安装插件,找到这类插件,点击「禁用」。
  • 如果后台无法访问,通过SSH进入网站根目录的wp-content/plugins/文件夹,把对应插件的文件夹重命名(比如really-simple-ssl改成really-simple-ssl-disabled),这样插件就会被禁用。

5. 检查wp-config.php中的强制SSL设置

有时候wp-config.php里会被添加强制SSL的常量:

  • 进入网站根目录,编辑wp-config.phpnano wp-config.php
  • 查找是否有以下两行,如果有,改成false或者直接删除:
    define('FORCE_SSL_ADMIN', true);
    define('FORCE_SSL_LOGIN', true);
    
  • 保存退出。

完成以上步骤后,再访问http://XXX.XXX.XXX.XXX,应该就不会被重定向到HTTPS了。如果还有问题,可以清除浏览器缓存(因为301重定向会被浏览器缓存)再测试。

内容的提问来源于stack exchange,提问作者mitsuki

火山引擎 最新活动