Magento 2: ERR_TOO_MANY_REDIRECTS After Importing Database

Problem:

Getting 302 redirects (ERR_TOO_MANY_REDIRECTS error) after I imported the server’s database into the local Magento setup.

I am getting the redirect error on both backend and frontend.

Investigation:

I checked for the values for the web/ page in core_config_data table.


MariaDB [magento]> SELECT * FROM core_config_data WHERE path LIKE "web/%";

+-----------+---------+----------+---------------------------------------------+------------------------------+---------------------+
| config_id | scope   | scope_id | path                                        | value                        | updated_at          |
+-----------+---------+----------+---------------------------------------------+------------------------------+---------------------+
|         6 | default |        0 | web/unsecure/base_url                       | https://magento.test/        | 2021-12-28 03:15:26 |
|         9 | default |        0 | web/secure/base_url                         | https://magento.test/        | 2021-12-28 03:15:26 |
|        51 | default |        0 | web/seo/use_rewrites                        | 1                            | 2020-04-06 11:25:49 |
|      2055 | default |        0 | web/url/use_store                           | 0                            | 2020-04-06 11:25:49 |
|      2058 | default |        0 | web/url/redirect_to_base                    | 0                            | 2021-12-28 04:52:04 |
|      2061 | default |        0 | web/secure/use_in_frontend                  | 1                            | 2021-12-28 04:24:41 |
|      2064 | default |        0 | web/secure/use_in_adminhtml                 | 1                            | 2020-04-06 11:25:49 |
|      2067 | default |        0 | web/secure/offloader_header                 | SSL_OFFLOADED                | 2020-04-06 11:25:49 |
|      2070 | default |        0 | web/default/front                           | cms                          | 2020-04-06 11:25:49 |
|      2073 | default |        0 | web/default/cms_home_page                   | magento-home                 | 2020-04-06 11:25:49 |
|      2076 | default |        0 | web/default/cms_no_route                    | no-route                     | 2020-04-06 11:25:49 |
|      2079 | default |        0 | web/default/cms_no_cookies                  | enable-cookies               | 2020-04-06 11:25:49 |
|      2082 | default |        0 | web/default/show_cms_breadcrumbs            | 1                            | 2020-04-06 11:25:49 |
|      2085 | default |        0 | web/session/use_remote_addr                 | 0                            | 2020-04-06 11:25:49 |
|      2088 | default |        0 | web/session/use_http_via                    | 0                            | 2020-04-06 11:25:49 |
|      2091 | default |        0 | web/session/use_http_x_forwarded_for        | 0                            | 2020-04-06 11:25:49 |
|      2094 | default |        0 | web/session/use_http_user_agent             | 0                            | 2020-04-06 11:25:49 |
|      2097 | default |        0 | web/session/use_frontend_sid                | 1                            | 2020-04-06 11:25:49 |
|      2100 | default |        0 | web/browser_capabilities/cookies            | 1                            | 2020-04-06 11:25:49 |
|      2103 | default |        0 | web/browser_capabilities/javascript         | 1                            | 2020-04-06 11:25:49 |
|      3135 | default |        0 | web/cookie/cookie_lifetime                  | 86400                        | 2020-04-06 11:25:49 |
|      6302 | default |        0 | web/unsecure/base_static_url                | NULL                         | 2020-04-21 13:10:25 |
|      6305 | default |        0 | web/unsecure/base_media_url                 | https://magento.test/media/  | 2021-12-28 03:15:48 |
|      6308 | default |        0 | web/secure/base_static_url                  | NULL                         | 2020-04-21 13:10:25 |
|      6311 | default |        0 | web/secure/base_media_url                   | https://magento.test/media/  | 2021-12-28 03:15:48 |
|      6314 | default |        0 | web/secure/enable_hsts                      | 0                            | 2020-04-21 13:10:25 |
|      6317 | default |        0 | web/secure/enable_upgrade_insecure          | 0                            | 2020-04-21 13:10:25 |
|      6320 | default |        0 | web/default_layouts/default_product_layout  | product-full-width           | 2020-04-21 13:10:25 |
|      6323 | default |        0 | web/default_layouts/default_category_layout | category-full-width          | 2020-04-21 13:10:25 |
|      6326 | default |        0 | web/default_layouts/default_cms_layout      | cms-full-width               | 2020-04-21 13:10:25 |
|      6329 | default |        0 | web/cookie/cookie_path                      | NULL                         | 2020-04-21 13:10:25 |
|      6332 | default |        0 | web/cookie/cookie_domain                    | magento.test                 | 2021-12-28 03:57:30 |
|      6335 | default |        0 | web/cookie/cookie_httponly                  | 1                            | 2020-04-21 13:10:25 |
+-----------+---------+----------+---------------------------------------------+------------------------------+---------------------+
33 rows in set (0.002 sec)

base_url is good

– web/unsecure/base_url
– web/secure/base_url

Tried changing the value to 0 and 1 for:

– web/secure/use_in_frontend
– web/secure/use_in_adminhtml
– web/url/redirect_to_base
– web/secure/enable_upgrade_insecure


bin/magento config:show web/secure/use_in_frontend
bin/magento config:set web/secure/use_in_frontend 1
bin/magento config:set web/secure/use_in_frontend 0

Tried changing the cookie_domain:

– web/cookie/cookie_domain


bin/magento config:show web/cookie/cookie_domain
bin/magento config:set web/cookie/cookie_domain magento.test

Solution:

Finally, figured out that web/secure/offloader_header was causing the redirect.

It was set to SSL_OFFLOADED.
Changing the value to X-Forwarded-Proto solved the issue.


MariaDB [magento]> SELECT * FROM core_config_data WHERE path = "web/secure/offloader_header";
+-----------+---------+----------+-----------------------------+---------------+---------------------+
| config_id | scope   | scope_id | path                        | value         | updated_at          |
+-----------+---------+----------+-----------------------------+---------------+---------------------+
|      2067 | default |        0 | web/secure/offloader_header | SSL_OFFLOADED | 2021-12-29 00:07:12 |
+-----------+---------+----------+-----------------------------+---------------+---------------------+
1 row in set (0.002 sec)

MariaDB [magento]> UPDATE core_config_data SET value = "X-Forwarded-Proto" WHERE path = "web/secure/offloader_header";
Query OK, 1 row affected (0.004 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [magento]> SELECT * FROM core_config_data WHERE path = "web/secure/offloader_header";
+-----------+---------+----------+-----------------------------+-------------------+---------------------+
| config_id | scope   | scope_id | path                        | value             | updated_at          |
+-----------+---------+----------+-----------------------------+-------------------+---------------------+
|      2067 | default |        0 | web/secure/offloader_header | X-Forwarded-Proto | 2021-12-29 00:08:07 |
+-----------+---------+----------+-----------------------------+-------------------+---------------------+
1 row in set (0.007 sec)

Reference:

https://magento.stackexchange.com/questions/322031/varnish-cache-magento-2-ssl-offloading-x-forwarded-proto-https-vs-ssl-offload