Why is my app not resolving .gov domains?

App Platform apps may be slow or unable to resolve .gov domains because the domain administrators have blocked DigitalOcean’s IP addresses. To fix this, you can contact the domain administrator or use a custom DNS resolver.

For example, if you are using the example.gov domain, you can use the following code to set Cloudflare’s DNS server as the resolver in your Node.js application:

    
        
            
const dns = require('dns');

// Set Cloudflare's DNS server
dns.setServers(['1.1.1.1']);

const agent = new https.Agent({
  lookup: (hostname, options, callback) => {
    dns.lookup(hostname, options, callback);
  }
});

// Example usage with axios
axios.get('https://example.com', { httpsAgent: agent })
  .then(response => {})
  .catch(error => {})

        
    

We recommend using a custom DNS resolver only to query the .gov sites that have resolution issues. Setting the custom resolver as the default resolver for your app can cause connection issues to DigitalOcean Managed Databases connected to the app.

If an app’s health check fails, the app currently does not restart. This is because App Platform does not currently support liveness probes. An app only automatically restarts if the app crashes or if its disk or RAM usage exceeds the its limits.
You can find the client IP address of a request connecting to your app in the do-connecting-ip HTTP header.
Timeouts can be caused by high CPU utilization, so check your app’s CPU utilization and consider scaling your app.
In this article...