I'm currently using Odoo version 17, but I had the same issue with version 16 as well. It works fine with version 15. I'm tunneling my virtual machine with Cloudflare and broadcasting through the xyz.com address. The xyz address is linked to http://localhost:8069 in Cloudflare. I enable the website module and design the website, and everything works fine up to this point. I can see the site I created through xyz.com. When I re-enter the site through the portal, I can see the edit icon for the website (in version 17, this edit icon looks like the logo in Odoo 16). If I click on this edit icon, I get stuck on the loading screen. The site menu items and report sections still work, but the website editing part does not. However, if I access it through 192...*:8069, everything works as it should. It is installed on Debian 12 with Python 3.10.13
The photos are in the link, I cannot share the link because I have 20 karma :/
https://drive.google.com/drive/folders/1KEmI54aKtNYbklw19as0NT3_aICiL73h?usp=sharing
Edit1: When entered from the Samsung internet browser, I can view the edit. I have the same problem in Brave Firefox and Crominum. It is not a Crominum-based problem, because Samsung Internet is also a Crominum-based browser. And since there is no error in the logs, I do not throw away the log.
Edit2: Friends, I have partially solved my problem. Firstly, the issue was a mixed content problem. Cloudflare sends requests over HTTPS, but it gives an error because it receives responses over HTTP. The reason it works on Samsung Internet is that it allows me to connect over HTTP. Initially, I tried to solve it with Nginx, but Cloudflare showed a 502 error every time. If I enter the VPS IP and edit Odoo, HTTPS works, but for some reason, I could not connect when I did it with Cloudflare. When I tried it on an empty internet page, Cloudflare did not cause any problems, and I did not get the 502 error. This led me to think it was an issue with Odoo. After some research, I found a Reddit user who solved it by adding a rule through Cloudflare. Here is the link to the solution below: