My nopCommerce instance (two stores on two separate domains) worked without issue before transitioning to use SSL.
After transitioning to use SSL, the site is accessible prefaced with https and appears to work fine until the user gets to checkout. At this point, when they click "continue" on the billing address screen, they are redirected back to the cart.
The error shown in the browser is (modified to remove my domain name):
Mixed Content: The page at 'https://www.example.com/onepagecheckout#opc-billing' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://www.example.com/checkout/OpcSaveBilling/'. This request has been blocked; the content must be served over HTTPS.
Indicating a problem with the https setup...
Upon further inspection, I realized that clicking "Enable SSL" on the stores was not doing anything. It would refresh the page, but the button would not change to "Disable SSL." I checked and it indeed was not updating SslEnabled in the database either.
I did change the URL of the stores to start with https:// and end with /
I have tried enabling Use proxy servers in the app settings, leaving the other 3 fields in the Hosting Configuration setting blank, to no avail.
I have tried writing the SslEnabled value for each store to 1 directly in the database. When I do this, it results in Too Many Redirect errors. I have tried this with the Use proxy servers setting on and off. I have tried clearing cookies and opening in a private browsing window.
There are no errors in the logs in the admin panel.
My SSL certificate is only valid for my domains that begin with www. To accommodate, I am using 301 redirects for the domains without www. to the domains with www. Additionally, I am using 301 redirects for http:// to https://. I am using nginx to handle this and as a reverse proxy. I have tried with these redirects removed and this did not solve the Too Many Redirect problem.