GoDaddy托管React站点HTTP访问显示不安全问题咨询
问题成因
修改package.json中的homepage字段无法解决这个问题是必然的:这个配置项仅在React项目构建阶段生效,作用是指定打包后静态资源(JS、CSS、媒体资源等)的引用路径前缀,完全不涉及Web服务器层的请求处理规则,自然不可能控制HTTP到HTTPS的跳转逻辑。
你当前遇到的问题本质非常简单:你已经完成了SSL证书的部署,所以HTTPS访问时证书校验正常、显示安全;但你没有在托管服务器上配置HTTP请求强制跳转HTTPS的规则,当用户访问HTTP地址时,服务器直接以HTTP协议返回响应内容,浏览器就会弹出不安全提示。
解决方案(适配GoDaddy cPanel托管环境)
按优先级从高到低尝试以下操作即可:
- 开启cPanel自带的强制HTTPS开关(零代码,优先选)
- 登录GoDaddy cPanel管理后台,找到「域」板块下的「域」设置页
- 在域名列表中找到
paperware.co.in对应条目,直接开启「强制HTTPS重定向」的开关 - 清空浏览器缓存、清空cPanel自带的站点缓存后,重新访问HTTP地址验证跳转效果即可
- 通过
.htaccess配置重定向规则(自带开关失效时使用)
cPanel默认使用Apache作为Web服务器,支持通过根目录的.htaccess文件自定义重定向规则:- 在cPanel文件管理器中进入站点根目录(默认路径为
public_html) - 开启「显示隐藏文件」选项,查找根目录下是否存在
.htaccess文件,不存在则直接新建该文件 - 在文件最顶部加入如下规则,注意不要覆盖文件内已有的其他重定向规则(比如已有其他站点程序的伪静态规则要保留):
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]- 保存文件后清空缓存测试即可。这里使用301永久重定向,既符合浏览器缓存逻辑,也对搜索引擎收录友好。
- 在cPanel文件管理器中进入站点根目录(默认路径为
- 额外校验项
- 确认你申请的SSL证书同时覆盖根域名
paperware.co.in和带www的子域名www.paperware.co.in,避免跳转后出现证书域名不匹配的报错 - 重新执行React项目的构建命令,将最新生成的build目录内的所有文件重新上传覆盖到站点根目录,避免旧打包产物中残留HTTP协议的资源引用
- 如果开启了GoDaddy自带的CDN加速服务,需要同步刷新CDN节点缓存,避免旧的HTTP响应被CDN长期缓存导致规则不生效
- 确认你申请的SSL证书同时覆盖根域名
内容的提问来源于stack exchange,提问作者YadavRahul
相关产品推荐
相关产品推荐

