This guide helps you resolve network connectivity issues, including proxy configuration and SSL/TLS certificate problems.

Proxy Configuration

In enterprise settings, you may encounter proxy-related issues at two points:

  1. During AskUI installation
  2. When AskUI Controller connects to AskUI Inference

NTLM or Kerberos Proxy Setup

NTLM or Kerberos proxies require authentication via your Windows user or username/password combination. We recommend using a local proxy to handle authentication.

Setting Up a Local Proxy with Px

Px is recommended as a local proxy:

  1. Install Px following their documentation
  2. Start the proxy (default port: 3128)

Choose the binary option if package managers aren’t available in your environment.

Windows Autostart Configuration:

Create px-start.bat in your Px installation folder:

cd c:\tools\px
px.exe

To set up autostart:

  1. Create a link to px-start.bat
  2. Press Windows + R, enter shell:startup
  3. Move the link to this folder

Configure pip to Use Proxy

Create a pip configuration file:

Linux/macOS (~/.config/pip/pip.conf):

[global]
proxy = http://127.0.0.1:3128

Windows (%APPDATA%\pip\pip.ini):

[global]
proxy = http://127.0.0.1:3128

Set Environment Variables

In Python scripts:

import os
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:3128'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:3128'

System-wide configuration:

Linux/macOS:

export HTTP_PROXY=http://127.0.0.1:3128
export HTTPS_PROXY=http://127.0.0.1:3128

Windows:

set HTTP_PROXY=http://127.0.0.1:3128
set HTTPS_PROXY=http://127.0.0.1:3128

AskUI Controller Proxy Configuration

Method 1: Using Environment Variables

The Python client uses the requests library which automatically uses proxy environment variables.

Method 2: Configure Proxies in Code

from askui import Agent

# Basic proxy configuration
proxies = {
    'http': 'http://your-proxy-url:port',
    'https': 'https://your-proxy-url:port'
}

# Initialize with proxy
agent = Agent(proxy_config=proxies)

Proxy with Authentication

proxies = {
    'http': 'http://username:password@your-proxy-url:port',
    'https': 'https://username:password@your-proxy-url:port'
}

agent = Agent(proxy_config=proxies)

SSL/TLS Certificate Issues

Corporate proxies often perform Deep Package Inspection by adding self-signed certificates. This causes errors like:

  • SSLError: self-signed certificate
  • SSLError: unable to verify the first certificate

Solution: Adding Custom Certificates

Extracting Corporate Certificates

  1. From Browser:

    • Chrome: Click lock icon → “Certificate”
    • Firefox: Click lock icon → “Connection Secure” → “More Information” → “View Certificate”
  2. Select the root certificate (often named after your company)

  3. Export/download in PEM format

  4. Save to accessible location

Security Note: Never use verify=False in production. It disables SSL verification and exposes you to man-in-the-middle attacks.

AskUI Suite Proxy Commands

Use these commands in askui-shell to manage proxy settings:

# Start local proxy
AskUI-StartLocalProxy

# Configure proxy settings
AskUI-SetLocalProxySettings -ProxyUrl "http://127.0.0.1:3128"

# Remove proxy settings
AskUI-RemoveLocalProxySettings

# Stop local proxy
AskUI-StopLocalProxy

Common Network Errors

Connection Timeout

Symptoms:

  • Operations hang for long periods
  • Timeout errors after 30-60 seconds

Solutions:

  1. Check firewall allows outbound HTTPS (port 443)
  2. Verify proxy settings are correct
  3. Test connection: AskUI-TestConnection

DNS Resolution Failures

Symptoms:

  • “Unable to resolve host” errors
  • Connection failures to askui.com domains

Solutions:

  1. Check DNS settings
  2. Try using corporate DNS servers
  3. Add explicit DNS entries if needed

Certificate Verification Failed

Symptoms:

  • SSL certificate errors
  • “Certificate verify failed” messages

Solutions:

  1. Add corporate root certificate (see above)
  2. Update certificate bundle: pip install --upgrade certifi
  3. Check system date/time is correct

Debugging Network Issues

Enable verbose logging to diagnose problems:

import logging
logging.basicConfig(level=logging.DEBUG)

# This will show detailed HTTP requests/responses

Use network debugging tools:

# Test connectivity
ping inference.askui.com

# Check DNS resolution
nslookup inference.askui.com

# Test HTTPS connection
curl -v https://inference.askui.com

Firewall Configuration

If AskUI is blocked by your firewall, ensure the required domains are whitelisted. See the network requirements in our Installation guide for the complete list of domains that need to be accessible.

Next Steps