OVH ZoneDNS #142

Closed
opened 2025-11-20 04:20:50 -05:00 by saavagebueno · 7 comments
Owner

Originally created by @cmatheo on GitHub (Sep 18, 2021).

Hello everyone,

I recently ran into an issue while trying to use your script with OVH's Zone DNS actualization system.

For context, I own mydomain.com and have multiple LAN networks across my country. Firstly, I assigned them special DynHost at first to access some of their services globally, such as:

  • home.mydomain.com
  • work.domain.com
  • name.domain.com
  • and so on.

Then, my needs grew and I put a Nginx Proxy Manager instance at home to access my different services with a simple alias. I wanted to achieve something like:

  • cloud.home.mydomain.com
  • plex.home.mydomain.com
  • etc. etc.

I already managed to set up something like this for a friend, but using DuckDNS.

I understood that with OVH, my DynHost was not appropriated anymore, and I had to setup a Zone DNS for ddns-updater to use.

I deleted the previously established DynHost and followed all of the steps in the tutorial, creating a Zone DNS: home.mydomain.com

At first everything went well, but after some time the refreshing stopped completely, creating the following error:

Failure (bad HTTP status: 400 Bad Request: Invalid signature: for query ID: EU.ext- Here is a really long string that I don't know if it's safe to post online, 28s ago

I created a new Zone DNS for *.home.mydomain.com, with the same parameters, and this one updates just fine.

How is it my first domain is not updating anymore?

Here is my config file:

{
  "settings": [
    {
      "provider": "ovh",
      "domain": "mydomain.com",
      "host": "home",
      "mode": "api",
      "api_endpoint": "ovh-eu",
      "app_key": "MY_APP_KEY",
      "app_secret": "MY_APP_SECRET",
      "consumer_key": "MY_CONSUMER_KEY",
      "ip_version": "ipv4",
      "provider_ip": true
    }, 
    {
      "provider": "ovh",
      "domain": "mydomain.com",
      "host": "*.home",
      "mode": "api",
      "api_endpoint": "ovh-eu",
      "app_key": "MY_APP_KEY",
      "app_secret": "MY_APP_SECRET",
      "consumer_key": "MY_CONSUMER_KEY",
      "ip_version": "ipv4",
      "provider_ip": true
    }
  ]
}

Note that the second one, added today, works just fine at the moment, and the first one stopped working after my router rebooted and changed its public IP address - so basically right after I needed it haha - and still isn't functioning.

Originally created by @cmatheo on GitHub (Sep 18, 2021). Hello everyone, I recently ran into an issue while trying to use your script with OVH's Zone DNS actualization system. For context, I own mydomain.com and have multiple LAN networks across my country. Firstly, I assigned them special DynHost at first to access some of their services globally, such as: - **home.mydomain.com** - **work.domain.com** - **name.domain.com** - and so on. Then, my needs grew and I put a Nginx Proxy Manager instance at home to access my different services with a simple alias. I wanted to achieve something like: - **cloud.home.mydomain.com** - **plex.home.mydomain.com** - etc. etc. I already managed to set up something like this for a friend, but using DuckDNS. I understood that with OVH, my DynHost was not appropriated anymore, and I had to setup a Zone DNS for ddns-updater to use. I deleted the previously established DynHost and followed all of the steps in the tutorial, creating a Zone DNS: **home.mydomain.com** At first everything went well, but after some time the refreshing stopped completely, creating the following error: > Failure (bad HTTP status: 400 Bad Request: Invalid signature: for query ID: EU.ext- _**Here is a really long string that I don't know if it's safe to post online**_, 28s ago I created a new Zone DNS for ***.home.mydomain.com**, with the same parameters, and this one updates just fine. How is it my first domain is not updating anymore? Here is my config file: ```json { "settings": [ { "provider": "ovh", "domain": "mydomain.com", "host": "home", "mode": "api", "api_endpoint": "ovh-eu", "app_key": "MY_APP_KEY", "app_secret": "MY_APP_SECRET", "consumer_key": "MY_CONSUMER_KEY", "ip_version": "ipv4", "provider_ip": true }, { "provider": "ovh", "domain": "mydomain.com", "host": "*.home", "mode": "api", "api_endpoint": "ovh-eu", "app_key": "MY_APP_KEY", "app_secret": "MY_APP_SECRET", "consumer_key": "MY_CONSUMER_KEY", "ip_version": "ipv4", "provider_ip": true } ] } ``` Note that the second one, added today, works just fine at the moment, and the first one stopped working after my router rebooted and changed its public IP address - so basically right after I needed it haha - and still isn't functioning.
Author
Owner

@fredericrous commented on GitHub (Sep 18, 2021):

error 400 might mean the request is malformed..but we're using a stripped-down version of the official OVH client for this provider..
can you reproduce this issue with https://api.ovh.com/console/#/domain/zone/%7BzoneName%7D/record#GET ?
and https://api.ovh.com/console/#/domain/zone/%7BzoneName%7D/record/%7Bid%7D#PUT ?

@fredericrous commented on GitHub (Sep 18, 2021): error 400 might mean the request is malformed..but we're using a stripped-down version of the official OVH client for this provider.. can you reproduce this issue with https://api.ovh.com/console/#/domain/zone/%7BzoneName%7D/record#GET ? and https://api.ovh.com/console/#/domain/zone/%7BzoneName%7D/record/%7Bid%7D#PUT ?
Author
Owner

@cmatheo commented on GitHub (Sep 18, 2021):

I followed this tutorial, in French, to help me through this: https://fr.wikitwist.com/panne-ovh-comment-utiliser-lapi-pour-changer-votre-zone-dns/
The Web interface API did not return any error to me.
In the meantime, I had to access those subdomains, so I actualised my IP directly from OVH's administration web interface. Note that my new IP ends with 113. the old one ended with 19.
Here is a screenshot of DDNS-Updater right now:

image

How can it still try to update the "home.mydomain.com" subdomain with the old IP address?

I really have no clue of what happens here.

@cmatheo commented on GitHub (Sep 18, 2021): I followed this tutorial, in French, to help me through this: [https://fr.wikitwist.com/panne-ovh-comment-utiliser-lapi-pour-changer-votre-zone-dns/](url) The Web interface API did not return any error to me. In the meantime, I had to access those subdomains, so I actualised my IP directly from OVH's administration web interface. Note that my new IP ends with 113. the old one ended with 19. Here is a screenshot of DDNS-Updater right now: ![image](https://user-images.githubusercontent.com/51848905/133892561-72b188b6-98e0-4794-b638-d97c498a30bb.png) How can it still try to update the "home.mydomain.com" subdomain with the old IP address? I really have no clue of what happens here.
Author
Owner

@fredericrous commented on GitHub (Sep 18, 2021):

Could you run the container with the env variable LOG_LEVEL=debug ?
Could you try removing
"ip_version": "ipv4",
"provider_ip": true
I personally don't have that in my config..

It's weird that "home.mydomain.com" doesn't work for you but "*.home.mydomain.com" works..I would have expected the opposite 🤯

Regarding the IP difference, @qdm12 might have an idea?

@fredericrous commented on GitHub (Sep 18, 2021): Could you run the container with the env variable LOG_LEVEL=debug ? Could you try removing "ip_version": "ipv4", "provider_ip": true I personally don't have that in my config.. It's weird that "home.mydomain.com" doesn't work for you but "*.home.mydomain.com" works..I would have expected the opposite 🤯 Regarding the IP difference, @qdm12 might have an idea?
Author
Owner

@cmatheo commented on GitHub (Sep 19, 2021):

I ran the container in debug mode as you wanted me to.

I understood what happened in the previous screenshot. As I actualised my IP manually on OVH's website, DDNS-Updater saw it was the right IP address and did not bother to change the displayed "Set IP" in the WebUI.
So I reverted manually to my old IP address to reproduce the error:
image
So far so good, we're back at my original problem without WebUI complications.

And the log console gave me these messages:

2021/09/19 09:04:24 DEBUG 400 Bad Request | headers: X-Xss-Protection: 1; mode=block; X-Content-Type-Options: nosniff; Server: nginx; Date: Sun, 19 Sep 2021 07:04:27 GMT; Cache-Control: no-cache, no-store; X-Ovh-Queryid: EU.ext-X.XXXXXXXX.XXXX.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX; X-Iplb-Instance: XXXXX; Content-Type: application/json; charset=utf-8; Content-Length: 92; X-Frame-Options: DENY; X-Iplb-Request-Id: XXXXXXXX:XXXX_XXXXXXXX:XXXX_XXXXXXXX_XXXXXX:XXXXX | body: {"message":"Invalid signature","httpCode":"400 Bad Request","errorCode":"INVALID_SIGNATURE"}

2021/09/19 09:04:24 ERROR bad HTTP status: 400 Bad Request: Invalid signature: for query ID: EU.ext-X.XXXXXXXX.XXXX.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Note that here, the Xs are placeholders for hexadecimal values.

Maybe a problem on OVH's side?

@cmatheo commented on GitHub (Sep 19, 2021): I ran the container in debug mode as you wanted me to. I understood what happened in the previous screenshot. As I actualised my IP manually on OVH's website, DDNS-Updater saw it was the right IP address and did not bother to change the displayed "Set IP" in the WebUI. So I reverted manually to my old IP address to reproduce the error: ![image](https://user-images.githubusercontent.com/51848905/133918696-03490d61-4932-4dcf-b56d-9d4c517a4157.png) So far so good, we're back at my original problem without WebUI complications. And the log console gave me these messages: > 2021/09/19 09:04:24 DEBUG 400 Bad Request | headers: X-Xss-Protection: 1; mode=block; X-Content-Type-Options: nosniff; Server: nginx; Date: Sun, 19 Sep 2021 07:04:27 GMT; Cache-Control: no-cache, no-store; X-Ovh-Queryid: EU.ext-X.XXXXXXXX.XXXX.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX; X-Iplb-Instance: XXXXX; Content-Type: application/json; charset=utf-8; Content-Length: 92; X-Frame-Options: DENY; X-Iplb-Request-Id: XXXXXXXX:XXXX_XXXXXXXX:XXXX_XXXXXXXX_XXXXXX:XXXXX | body: {"message":"Invalid signature","httpCode":"400 Bad Request","errorCode":"INVALID_SIGNATURE"} > 2021/09/19 09:04:24 ERROR bad HTTP status: 400 Bad Request: Invalid signature: for query ID: EU.ext-X.XXXXXXXX.XXXX.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Note that here, the Xs are placeholders for hexadecimal values. Maybe a problem on OVH's side?
Author
Owner

@cmatheo commented on GitHub (Oct 11, 2021):

Hello,

I made a few changes in my config.json file:

{
  "settings": [
    {
      "provider": "ovh",
      "domain": "mydomain.com",
      "host": "home,*.home",
      "mode": "api",
      "api_endpoint": "ovh-eu",
      "app_key": "MY_APP_KEY",
      "app_secret": "MY_APP_SECRET",
      "consumer_key": "MY_CONSUMER_KEY"
    }
  ]
}

After a while it seemed to work again, but only for home, not *.home.

I did not have the time to conduce tests with ddns-updater, ut I will try as soon as possible. In the meantime, if you have any idea, I'd be glad to read about it. Thank you!

@cmatheo commented on GitHub (Oct 11, 2021): Hello, I made a few changes in my `config.json` file: ```json { "settings": [ { "provider": "ovh", "domain": "mydomain.com", "host": "home,*.home", "mode": "api", "api_endpoint": "ovh-eu", "app_key": "MY_APP_KEY", "app_secret": "MY_APP_SECRET", "consumer_key": "MY_CONSUMER_KEY" } ] } ``` After a while it seemed to work again, but only for home, not *.home. I did not have the time to conduce tests with ddns-updater, ut I will try as soon as possible. In the meantime, if you have any idea, I'd be glad to read about it. Thank you!
Author
Owner

@qdm12 commented on GitHub (Oct 15, 2021):

Hey @Narthall sorry for the long delay! Also thanks @fredericrous for helping out 💯!

Invalid signature seems to be the problem 🤔

I added some additional context for errors in 14cd7b0a47, do you mind pulling the latest image and post back the logs you get here? So we can know where this 400 status code comes from (list records, create record, update record, refresh record?)

@qdm12 commented on GitHub (Oct 15, 2021): Hey @Narthall sorry for the long delay! Also thanks @fredericrous for helping out 💯! `Invalid signature` seems to be the problem 🤔 I added some additional context for errors in 14cd7b0a47e4b1bc97f532fe84fd79fd8ead22ee, do you mind pulling the latest image and post back the logs you get here? So we can know where this 400 status code comes from (list records, create record, update record, refresh record?)
Author
Owner

@qdm12 commented on GitHub (Jan 21, 2022):

Closing this due to inactivity

@qdm12 commented on GitHub (Jan 21, 2022): Closing this due to inactivity
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ddns-updater#142