NopCommerce v3.80启用SSL时出现ERR_TOO_MANY_REDIRECTS错误求助
修复NopCommerce v3.80 SSL开启后重定向循环的方案
先帮你梳理下问题根源:当后台开启「启用SSL」后,系统会强制将HTTP请求重定向到HTTPS,但如果服务器端的SSL配置存在识别偏差(比如反向代理/负载均衡下没正确传递HTTPS标识),或者web.config的重定向规则和后台逻辑冲突,就会触发循环重定向的错误。下面是几个针对性的修复方案:
方案1:检查并调整web.config中的SSL相关配置
打开站点根目录的web.config,重点排查两处配置:
- 找到
<system.web>节点下的<httpRuntime>和<pages>,确保没有额外的SSL强制参数,避免和后台设置冲突。比如<httpRuntime>只需保留基础配置,不要手动添加requireSSL="true"这类属性。 - 检查
<system.webServer>下的<rewrite>规则:如果你之前手动添加过HTTPS重定向规则,建议暂时注释掉,因为后台的SSL启用逻辑会自动生成重定向,两者叠加就会导致循环。示例:
<!-- 暂时注释这条自定义规则,避免和后台SSL逻辑冲突 --> <!--<rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule>-->
方案2:配置服务器端的HTTPS标识传递(针对反向代理/云主机场景)
如果你的站点部署在Nginx、IIS反向代理或者AWS/Azure这类云平台,服务器可能没把HTTPS请求的标识正确传递给NopCommerce,导致系统误以为当前还是HTTP请求,从而不断触发重定向。
- IIS反向代理场景:在web.config的
<system.webServer>节点添加以下配置,让NopCommerce识别真实请求协议:
<serverVariables> <set name="HTTPS" value="on" /> <set name="HTTP_X_FORWARDED_PROTO" value="https" /> </serverVariables>
- Nginx场景:在Nginx配置文件的
location /块中添加参数,传递HTTPS标识:
location / { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://你的NopCommerce服务器地址; }
方案3:修正后台的SSL域名配置
先通过HTTP访问后台(比如http://你的域名/admin,如果进不去就先注释web.config的重定向规则),进入「商店」设置页面检查:
- SSL网址:确保填写的是完整的HTTPS域名,比如
https://你的域名.com,不要遗漏https://前缀,也不要带多余的路径。 - 启用SSL:确认这个选项开启,但必须在
SSL网址配置正确后再保存,避免因域名不匹配触发重定向。
方案4:清除站点缓存和浏览器缓存
- 登录后台后,进入「系统→缓存管理」,点击「清除所有缓存」,确保系统加载最新的SSL配置。
- 清空浏览器的Cookie和缓存,因为之前的重定向缓存残留可能导致问题持续。
方案5:检查服务器SSL证书有效性
确认服务器的SSL证书是有效的(未过期、域名匹配),可以通过浏览器地址栏的锁图标查看证书详情。如果证书存在无效、不匹配的情况,也会间接导致重定向异常。
内容的提问来源于stack exchange,提问作者Velu
相关产品推荐
相关产品推荐

