Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
3984 Zobrazení

I have noticed my website is every now and again generating the sitemap with the IP instead of the domain.

Should be...


https://www.domain.co.uk/contact-us

But it is sometimes get rendered like this

https://1.1.1.1:8069/contact-us

The server is using Nginx as a reverse proxy


Avatar
Zrušit
Nejlepší odpověď

Just adding this here as it probably explains the situation for anyone else hitting this:

The problem is probably due to your nginx/apache config. You likely set the X-Forwarded-Host header with var $host. That is ok in most situations. However it means that nginx/apache will use the fqdn in the request from the client and will copy it over to the Odoo backend. E.g. your site is available through example\.com \(your\ "main"\ site\) and example2\.com \.\ You\ test\ it\ by\ using example\.com/sitemap\.xml and\ all\ is\ well\.\ A\ few\ hours/days\ later\ the\ sitemap\ is\ requested\ through example2\.com/sitemap\.xml \(e\.g\.\ google\ crawler\)\ and\ now\ the\ temporarily\ generated\ sitemap\ will\ have example2\.com in\ it\.

Set\ the\ proxy\ variables\ correctly\ in your apache\ configuration\ and\ it\ will\ go\ from\ http\ to\ https\ and\ also\ have\ the\ correct\ domain\ in\ the\ sitemap\.

If\ you\ make\ a\ change\ make\ sure\ to\ delete\ the\ sitemap\-\*\.xml\ in\ the\ ir\.attachments\ \(Settings,\ Technical,\ Attachments\)\ so\ it\ gets\ regenerated\.\ Yes\ this\ is\ nowhere\ mentioned\ that\ the\ sitemap\ is\ regenerated\ from\ time\ to\ time\ and\ nobody\ seems\ to\ be\ able\ to\ point\ this\ out\.\ Nor\ is\ there\ any\ mention\ on\ the\ frequency\ of\ this\ or\ the\ mechanism\ that\ triggers\ it\.

You'd\ need\ these\ settings\ in\ apache\ vhost:

RequestHeader\ set\ X\-Forwarded\-Proto\ https
RequestHeader\ set\ X\-Forwarded\-Host\ example\.com
ProxyPreserveHost\ On
ProxyRequests\ Off

So\ here\ you\ have\ the\ explicit example.com passed to Odoo.

You might ask: how was my website reachable through this strange domain name: apache/nginx misconfiguration. E.g. the default site pointing to your Odoo install. Another misconfiguration can be setting ProxyRequests On in Apache. A similar setting will exist for nginx but having this enabled allows requests for any site to go through your Nginx and if your Odoo install is the default site it will send that request fqdn to Odoo and that one will be used in the backend. Do NOT enable ProxyRequests unless you know exactly what you're doing or if you want cache-poisoning (hint: you don't want this).

Hope this helps someone else wasting plenty of time :)

Avatar
Zrušit
Nejlepší odpověď

In: Settings - Technical - System parameters - web.base.url

do you have that set to your domain? if not thats probably the issue.

Avatar
Zrušit
Autor

Yes this set to the right address.

Not sure if Nginx could also cause an issue

I have debugged a similar issue. Seems like cache poisoning due to misconfiguration of nginx. I will paste it as an answer (basically a copy/paste from an answer I written in another topic but it gives some better understanding.

Related Posts Odpovědi Zobrazení Aktivita
3
kvě 24
6716
0
zář 23
2329
0
dub 23
1878
1
kvě 22
2177
3
čvc 25
8346