• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Cisco Umbrella

Enterprise network security

  • Contact Sales
  • Login
    • Umbrella Login
    • Cloudlock Login
  • Why Us
    • Why Cisco Umbrella
      • Why Try Umbrella
      • Why DNS Security
      • Why Umbrella SASE
      • Our Customers
      • Customer Stories
      • Why Cisco Secure
    • Fast Reliable Cloud
      • Global Cloud Architecture
      • Cloud Network Status
      • Global Cloud Network Activity
    • Unmatched Intelligence
      • A New Approach to Cybersecurity
      • Interactive Intelligence
      • Cyber Attack Prevention
      • Umbrella and Cisco Talos Threat Intelligence
    • Extensive Integrations
      • IT Security Integrations
      • Hardware Integrations
      • Meraki Integration
      • Cisco Umbrella and SecureX
  • Products
    • Cisco Umbrella Products
      • Cisco Umbrella Cloud Security Service
      • Recursive DNS Services
      • Cisco Umbrella SIG
      • Umbrella Investigate
      • What’s New
    • Product Packages
      • Cisco Umbrella Package Comparison
      • – DNS Security Essentials Package
      • – DNS Security Advantage Package
      • – SIG Essentials Package
      • – SIG Advantage Package
      • Umbrella Support Packages
    • Functionality
      • DNS-Layer Security
      • Secure Web Gateway
      • Cloud Access Security Broker (CASB)
      • Cloud Data Loss Prevention (DLP)
      • Cloud-Delivered Firewall
      • Cloud Malware Protection
      • Remote Browser Isolation (RBI)
    • Man on a laptop with headphones on. He is attending a Cisco Umbrella Live Demo
  • Solutions
    • SASE & SSE Solutions
      • Cisco Umbrella SASE
      • Secure Access Service Edge (SASE)
      • What is SASE
      • What is Security Service Edge (SSE)
    • Functionality Solutions
      • Web Content Filtering
      • Secure Direct Internet Access
      • Shadow IT Discovery & App Blocking
      • Fast Incident Response
      • Unified Threat Management
      • Protect Mobile Users
      • Securing Remote and Roaming Users
    • Network Solutions
      • Guest Wi-Fi Security
      • SD-WAN Security
      • Off-Network Endpoint Security
    • Industry Solutions
      • Government and Public Sector Cybersecurity
      • Financial Services Security
      • Cybersecurity for Manufacturing
      • Higher Education Security
      • K-12 Schools Security
      • Healthcare, Retail and Hospitality Security
      • Enterprise Cloud Security
      • Small Business Cybersecurity
  • Resources
    • Content Library
      • Top Resources
      • Cybersecurity Webinars
      • Events
      • Research Reports
      • Case Studies
      • Videos
      • Datasheets
      • eBooks
      • Solution Briefs
    • International Documents
      • Deutsch/German
      • Español/Spanish
      • Français/French
      • Italiano/Italian
      • 日本語/Japanese
    • Security Definitions
      • What is Secure Access Service Edge (SASE)
      • What is Security Service Edge (SSE)
      • What is a Cloud Access Security Broker (CASB)
      • Cyber Threat Categories and Definitions
    • For Customers
      • Support
      • Customer Success Webinars
      • Cisco Umbrella Studio
  • Trends & Threats
    • Market Trends
      • Hybrid Workforce
      • Rise of Remote Workers
      • Secure Internet Gateway (SIG)
    • Security Threats
      • How to Stop Phishing Attacks
      • Malware Detection and Protection
      • Ransomware is on the Rise
      • Cryptomining Malware Protection
      • Cybersecurity Threat Landscape
      • Global Cyber Threat Intelligence
    •  
    • Woman connecting confidently to any device anywhere
  • Partners
    • Channel Partners
      • Partner Program
      • Become a Partner
    • Service Providers
      • Secure Connectivity
      • Managed Security for MSSPs
      • Managed IT for MSPs
    •  
    • Person looking down at laptop. They are connecting and working securely
  • Blog
    • News & Product Posts
      • Latest Posts
      • Products & Services
      • Customer Focus
      • Feature Spotlight
    • Cybersecurity Posts
      • Security
      • Threats
      • Cybersecurity Threat Spotlight
      • Research
    •  
    • Register for a webinar - with illustration of connecting securely to the cloud
  • Contact Us
  • Umbrella Login
  • Cloudlock Login
  • Free Trial
Security

Debugging the Cloud

Author avatar of Aram GrigorianAram Grigorian
Updated — March 18, 2020 • 2 minute read
View blog >

Today, OpenDNS runs many datacenters worldwide, providing content filtering and security services to millions of users. The Network Engineering team continuously ensures the Internet pipes are well connected and packets are flowing as quickly as possible between our users and servers.

One of the systems my team has worked on, and continues to maintain, is OpenDNS’s HTTP proxy. At its core is Nginx. A cool thing about Nginx is how much you can get done just at the config level, but for maximum flexibility moving business logic into modules (C, or maybe Lua and now Javascript) is the way to go. But custom modules equals custom code, and custom code equals testing and debugging.
We test every feature, the developer is responsible for both the feature code and the associated tests. This ranges from unit tests, to integration, and to continuous monitoring in production. Any test that can be run continuously, is. We’ve added another neat feature to Nginx and dubbed it “X-Ray.” It allows us peek into the code flow for a given a request. Then, for example, if a customer has an issue, developers can mimic the scenario with X-Ray to aid debugging without having to shuffle routing configurations or restarting processes.

Normally the error log is expected to have low verbosity in production, with only critical errors being printed to disk to keep performance as high as possible. With X-Ray we basically get the verbose version of error log (for custom code, not the nginx core) inline, appended to the response body.

Here is a very simple redacted example;
Normal request:

> GET /malware.htm HTTP/1.1
> User-Agent: curl/7.24.0
> Accept: */*
>
< HTTP/1.1 302 Moved Temporarily
< Connection: keep-alive
< Location: https://malware.opendns.com/...
<
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Moved Temporarily</h1></center>
<hr><center>Umbrella Cloud Security Gateway</center>
</body>
</html>

And with X-Ray, the response has additional info:

< HTTP/1.1 302 Moved Temporarily
< Connection: keep-alive
< Location: https://malware.opendns.com/...
<
8 init_xray: xray level: 9 (NGX_LOG_DEBUG=8)
8 .... : ==> preparing 000000000383E100, "GET /malware.htm HTTP/1.1"
8 ... : no session args
8 ... : header: "User-Agent"
8 ... : header: "Accept"
8 ... : header: "Host"
...
8 ... : ==> evaluating 000000000383E100, "GET /malware.htm HTTP/1.1"
8 check_auth: pass: ....
8 check_auth: ...
...
8 ...: uri-escaped user-agent: "curl/7.24.0"
8 ...: block: as cat '1'
8 ..._redirect: Location: "https://malware.opendns.com/..."
...
<html>
<head><title>302 Found</title></head>
<body bgcolor="white">
<center><h1>302 Moved Temporarily</h1></center>
<hr><center>Umbrella Cloud Security Gateway</center>
</body>
</html>

The code can now be full of useful information, from critical to very verbose all instantly accessible without hindering performance.

And best of all, you can have this feature as well! Check out nginx-xray on our Github account and get coding!

Suggested Blogs

  • Cisco Umbrella Delivered Better Cybersecurity and 231% ROI February 21, 2023 2 minute read
  • Cisco Listed as a Representative Vendor in Gartner® Market Guide for Single-Vendor SASE January 26, 2023 3 minute read
  • How to Evaluate SSE Vendors: Questions to Ask, Pitfalls to Avoid June 23, 2022 5 minute read

Share this blog

FacebookTweetLinkedIn

Follow Us

  • Twitter
  • Facebook
  • LinkedIn
  • YouTube

Footer Sections

What we make

  • Cloud Security Service
  • DNS-Layer Network Security
  • Secure Web Gateway
  • Security Packages

Who we are

  • Global Cloud Architecture
  • Cloud Network Status
  • Cloud Network Activity
  • OpenDNS is now Umbrella
  • Cisco Umbrella Blog

Learn more

  • Webinars
  • Careers
  • Support
  • Cisco Umbrella Live Demo
  • Contact Sales
Umbrella by Cisco
208.67.222.222+208.67.220.220
2620:119:35::35+2620:119:53::53
Sign up for a Free Trial
  • Cisco Online Privacy Statement
  • Terms of Service
  • Sitemap

© 2023 Cisco Umbrella