What Data to Collect Before Contacting Proxy Support: A Step-by-Step Guide
Table of contents
- Introduction: why "it's not working" can't be diagnosed
- Preliminary preparation: tools and access
- Basic concepts: the client — proxy — server boundary
- Step 1: collect the minimum data set
- Step 2: reproduce the problem with a single curl command
- Step 3: read the output line by line and find the problem boundary
- Step 4: run pre-request checks
- Step 5: gather data about your side
- Step 6: automate diagnostics collection with a single script
- Step 7: safely clean logs before sending
- Step 8: fill in the ready-made request template
- Result verification: request readiness checklist
- Common mistakes and their solutions
- Additional capabilities: advanced diagnostics
- Faq: common questions about collecting diagnostics
The phrase "the proxy isn't working" sounds to a support engineer roughly like "something hurts inside" sounds to a doctor. The general direction is clear, but without tests and symptoms, no diagnosis can be made. In this guide, you'll learn how to gather exactly the right set of data that turns a vague complaint into a specific task with one clear answer.
Introduction: Why "It's Not Working" Can't Be Diagnosed
Picture two support requests to Proxeon. The first: "I bought a proxy, nothing works, help." The second: "Proxy with ID PX-48213 at 14:32 MSK (UTC+3) returns a connection error when requesting api.example.com over HTTP, while the same proxy works for another site, direct connection without a proxy also works, curl output attached." The first request triggers a chain of five or six clarifying emails, each one taking hours of waiting. The second gets resolved with a single reply.
The difference isn't politeness or luck. The difference is data. The engineer can't see your screen, doesn't know your operating system, and can't reproduce your request without the source parameters. All they have is the text of your email. If that text doesn't contain facts, the first thing they'll do is ask for facts. That's exactly the chain of emails that stretches a simple problem over several days.
What You'll Get From This Guide
After reading this guide, you'll be able to gather a diagnostic package in 15-20 minutes that contains everything needed to solve the problem on the first reply. You'll have a ready-made script that collects technical data into a single text file, a request template to copy, and a clear understanding of which checks to perform before writing to support.
Who This Guide Is For
This guide is aimed at intermediate proxy users: those who can open a terminal or command prompt, know what a URL is, and have configured a proxy in an application at least once. Advanced users will find a ready-made diagnostic script and a problem isolation table here. For beginners, we explain every term in detail.
What You Need to Know Beforehand
It's enough to understand three things. A proxy is an intermediary through which your network request travels. The target address is the site or service you're reaching out to. The client is the program making the request through the proxy (browser, scraper, script). We'll cover everything else along the way.
How Long It Will Take
The first walkthrough with script setup will take about 30 minutes. After that, gathering diagnostics using the ready-made template will take 10-15 minutes. That's incomparably less than several days of back-and-forth emails.
Tip: bookmark this guide and the script. Proxy problems come up rarely, and when they do, it's hard to remember the whole procedure from scratch. Having a ready checklist on hand saves your nerves.
Preliminary Preparation: Tools and Access
Before collecting data, make sure you have the basic tools. They're all free and already installed on most systems.
Required Tools
- curl — a command-line utility for sending network requests. This is our main tool for reproducing the problem. It comes pre-installed on macOS and most Linux distributions. On Windows 10 and 11, it's also included with the system.
- Terminal or command prompt — the window where you enter commands. On Windows, this is PowerShell or Command Prompt (cmd); on macOS and Linux, it's Terminal.
- Text editor — Notepad, TextEdit, or any other for viewing the collected file and removing secrets.
- Your Proxeon proxy details — ID, address, port, login, and password. These are provided in your dashboard.
Checking That curl Is Available
Open the terminal and run a simple check.
- On Windows, press the Win key, type PowerShell, and open the app.
- On macOS, open Spotlight with Cmd+Space, type Terminal, and press Enter.
- On Linux, open the terminal via the application menu or with Ctrl+Alt+T.
- Type the command
and press Enter.curl --version
If you see a line like "curl 8.x.x" with a list of supported protocols, the tool is ready. If the system says the command isn't found, install curl: on Windows, update the system to the latest version; on Linux, install it through your distribution's package manager.
✅ Check: the command
curl --version output a version number and a list of protocols, including http and https. That means everything is ready to go.What to Prepare From Your Proxeon Data
Log into your Proxeon dashboard at proxeon.net and open your proxy's card. Write down or copy the following fields into a separate file: proxy ID, host (address), port, type (HTTP, HTTPS, or SOCKS5), login, and password. You'll need this data to build the reproduction command.
⚠️ Warning: your proxy login and password are secret data. We'll work with them locally, but they must NOT be included in a support request. There's a separate section below on how to safely clean logs before sending.
Basic Concepts: The Client — Proxy — Server Boundary
To understand which data matters, you need to picture the request's path. It passes through three segments, and the problem can occur on any of them.
Three Links in One Chain
When you access a site through a proxy, the request goes like this: your client sends a request to the proxy server, which forwards it to the target server, receives a response, and returns it to you. Three links, two boundaries. Understanding which boundary the request got stuck at is half the diagnosis.
- Client — proxy boundary. If the request didn't even reach the proxy, the problem is on your side: wrong proxy address, closed port, corporate filter, misconfigured client.
- Proxy — server boundary. If the proxy accepted the request but couldn't reach the target site, the problem is between the proxy and the target: the site is down, refuses the connection, or returns an error.
The goal of diagnostics is to determine which boundary broke. Based on your output, a Proxeon support engineer will immediately see where the request stopped, and that will sharply narrow down the causes.
Why Exact Time Matters So Much
Proxy infrastructure keeps logs. To find your specific request in them, the engineer needs the exact time of the event with the time zone. "This morning" can't be searched in logs. "14:32 MSK, UTC+3" can be found in seconds. The time difference between how you phrase it and the log entry is a common reason the event isn't found at all.
Tip: always specify the time zone explicitly. The format "UTC+3" or "MSK" is understood without guesswork. If you're in a different zone, specify yours — the server will convert it automatically.
Step 1: Collect the Minimum Data Set
Goal of this step: capture five facts without which any request will be incomplete. This is the foundation; everything else builds on top.
Five Mandatory Facts
- Proxy ID. The exact name or number from your Proxeon dashboard, for example PX-48213. Not "the proxy I bought yesterday," but a specific ID. If you have a package of several proxies, specify which one you mean.
- Exact time with time zone. When exactly the problem occurred. Format: date, time, zone. For example: March 12, 2026, 14:32, UTC+3. If the problem recurs, provide several timestamps.
- Target address. The full URL or host you were reaching out to. For example: https://api.example.com/v2/data. Not "a site," but the exact address.
- What exactly you did. One or two sentences about the action. "Sent a GET request from my script" or "opened a site in a browser with a configured proxy." Context helps understand the nature of the request.
- What you expected and what you got. Expected a 200 code and data, got a connection error. Expected a page to load, got endless loading. The gap between expectation and reality is the essence of the problem.
⚠️ Warning: don't replace specifics with emotions. "Everything is slow and it's a total disaster" carries no technical information. "The response takes 40 seconds instead of the usual 2" does.
How to Record the Time Correctly
If the problem is happening right now, look at the clock and note the time immediately. If it happened in the past, reconstruct the time from your application's logs or your browser history. The more precise the marker, the faster the server-side entry will be found.
✅ Check: you have five recorded facts. Read them aloud. If someone who can't see your screen understands what happened, where, and when — your minimum set is complete.
Step 2: Reproduce the Problem With a Single curl Command
Goal of this step: reduce the problem to a single command that the engineer can mentally or literally repeat and get a detailed technical output.
A browser and a complex script perform dozens of hidden actions. Isolating the problem in them is difficult. The curl utility makes exactly one request and shows every stage of it. It's the perfect reproduction tool.
The Basic Command Through a Proxeon Proxy
Build the command from your data. The general form looks like this:
curl -v -x http://LOGIN:PASSWORD@HOST:PORT https://TARGET-ADDRESSLet's break down the flags. -v enables verbose mode: curl will show the entire connection process line by line. -x specifies the proxy through which the request goes. After it — the proxy address with authentication. At the end — the target address.
Example with values filled in (data is fictional):
curl -v -x http://user123:secretpass@proxy.proxeon.net:8080 https://api.example.com/v2/dataAdding Time Measurement and File Output
To make the output as informative as possible, let's extend the command. The -w flag adds a timing summary at the end.
curl -v -x http://user123:secretpass@proxy.proxeon.net:8080 -w "Final code: %{http_code}, total time: %{time_total}s" https://api.example.com/v2/dataNow at the very end of the output you'll see the final HTTP code and total request time. These are key numbers for speed diagnostics.
Tip: if the problem is slow performance rather than an error, add detailed timings via
-w "dns: %{time_namelookup} connect: %{time_connect} start: %{time_starttransfer} total: %{time_total}" This will show at which stage time is being lost.For SOCKS5 Proxies
If your proxy is SOCKS5 type, change the scheme in the address:
curl -v -x socks5://user123:secretpass@proxy.proxeon.net:1080 https://api.example.com/v2/data⚠️ Warning: the command contains your real login and password. Run it in your own terminal, but do NOT copy it with secrets into an email. In the request, the login and password are replaced with placeholders — more on that in step 5.
Execution Order
- Open the terminal.
- Paste your assembled command, substituting your real data.
- Press Enter and wait for completion.
- Select the full output from the first line to the last and copy it into a text file.
✅ Check: you got a multi-line output showing lines starting with "*", ">", and "<". If there's output, the reproduction succeeded — even if the request ended in an error, that error is also valuable information.
Step 3: Read the Output Line by Line and Find the Problem Boundary
Goal of this step: learn to understand what the curl output is showing and determine which link the request stopped at. We don't duplicate the decoding of specific error codes here — there's a separate article in the Proxeon knowledge base for that; link to it in your request if needed.
Three Types of Lines in the Output
Verbose curl output uses prefixes that make it easy to navigate.
- Lines with an asterisk (*) — service messages from curl itself about the connection process: name resolution, establishing a connection to the proxy, encryption handshake. This is internal plumbing.
- Lines with a right arrow (>) — what your client is SENDING. Request headers, method, path.
- Lines with a left arrow (<) — what's being SENT BACK to you. Response code, server headers.
Where the Client — Proxy Boundary Is
At the beginning of the output, curl reports that it's establishing a connection to the proxy. You'll see a line like "Connected to proxy.proxeon.net port 8080." If this line isn't there and instead there's a connection error, the request didn't reach the proxy. The problem is at the client—proxy boundary: maybe the port is closed, the address is wrong, or a local filter is interfering.
If the line about connecting to the proxy is there but an authorization error follows, the proxy is reachable but didn't accept your login and password. This is also the client—proxy boundary, but at the authentication level.
Where the Proxy — Server Boundary Is
After successfully connecting to the proxy, curl shows establishing a connection to the target server through the proxy. If an error occurs here, the proxy accepted the request but couldn't reach the target. The problem is at the proxy—server boundary: the target site is down, refuses the connection, or responds slowly.
But if you see a response line with a left arrow, like "< HTTP/1.1 200" or another code, the whole chain worked and you got a response. After that, it's a matter of the response content, not the proxy's operation.
Key Lines That Matter to the Engineer
- The proxy connection line — confirms the first link works.
- The proxy authorization line — shows whether credentials were accepted.
- The encryption (TLS) handshake line — important for HTTPS targets.
- The first response line with a left arrow — the chain's final verdict.
- The final summary with the code and time from the -w flag.
Tip: don't try to diagnose yourself based on an error code if you're not sure. Your job is to attach the full output. A Proxeon engineer will read it more accurately. A full decoding of codes is in a separate knowledge base article — link to it if you want to dig deeper.
✅ Check: you can point to the line after which the request broke and say which boundary it's at — client-proxy or proxy-server. If you can, you've passed this stage.
Step 4: Run Pre-Request Checks
Goal of this step: use the process of elimination to narrow down causes before you write to support. Each check rules out an entire class of problems.
The principle is simple: change one parameter at a time and see if the behavior changes. This is the classic engineering approach to fault isolation.
Four Key Checks
- Another target site. Repeat the same request through the same proxy, but to a different address. Pick a reliably stable public site. If the proxy works for that one but not for your target, the problem is related to the target site or its attitude toward the proxy, not to the proxy itself.
- Another protocol. If you used HTTP, try an HTTPS target, and vice versa. Sometimes the problem only shows up on one protocol, and that's an important signal.
- Another proxy. If you have a second Proxeon proxy, repeat the request through it. If the second one works and the first doesn't — the problem is with that specific proxy. If both behave the same way — the problem is more systemic.
- Direct connection. Make a request to the target WITHOUT a proxy, directly. Remove the -x flag. If the site is also unreachable directly, the problem isn't the proxy at all, but the target site itself or your network.
Command for the Direct Check
curl -v https://api.example.com/v2/dataThe same command, but without the proxy part. Compare the result with the request through the proxy.
Table: What Each Check Rules Out
Below is how to interpret the check results.
- Another site works, yours doesn't. Rules out a proxy outage overall. Points to the specifics of how a particular target interacts with the proxy.
- Another protocol works, yours doesn't. Rules out total unavailability. Localizes the problem to a specific protocol or port.
- Another proxy works, yours doesn't. Rules out a problem on your side and in the network. Points to a specific proxy.
- Direct connection doesn't work either. Rules out the proxy's fault. The problem is with the target site or your network.
- Direct works, through the proxy doesn't. Confirms the issue is specifically with the proxy link, and that's exactly what support can help with.
Tip: the results of these four checks are the most valuable part of your request. They save the engineer half the work because you've already ruled things out. Be sure to list them in your email.
⚠️ Warning: use these proxies exclusively for legitimate tasks: testing your own services, collecting public data within the rules, working with APIs. The checks aren't intended for actions that violate site policies or the law.
✅ Check: you have results for all four checks, and you can say in one phrase what they collectively rule out. For example: "direct connection and another proxy both work, so it's specifically proxy PX-48213 when reaching this target."
Step 5: Gather Data About Your Side
Goal of this step: describe the environment in which the problem occurs. Half of all puzzling cases are explained by client or local network specifics.
What to Include About the Environment
- Operating system and its version. Windows 11, macOS 15, Ubuntu 24.04. The exact version helps reproduce the conditions.
- Client and its version. What you're using the proxy through: browser and its version, name and version of the scraper or library, curl version. Different clients handle proxies differently.
- How the proxy is configured. Configured in the system, in the browser, passed in code, set in environment variables. This affects exactly how the proxy is applied.
- Presence of a corporate or local filter. Are you working from a corporate network, is there antivirus with a firewall, is a local firewall running. Such filters can intercept or block connections before they even reach the proxy.
- Type of internet connection. Home ISP, mobile internet, work network. Sometimes the ISP affects availability.
How to Find Out the Client Version
For curl, use the familiar command
curl --version For a browser, open the "About" section in the menu. For a library in code, check its version in your project's dependency file.Checking for a Corporate Filter
If you're on a corporate network and suspect a filter, it's easy to check. Make a direct request to the proxy without a target and see if a connection is established. If even a direct connection to the proxy's port doesn't go through, but it goes through from another network, a corporate filter on outbound connections is likely.
Tip: corporate networks often only allow ports 80 and 443. If your proxy is on a non-standard port, ask your network administrator whether that port is open outward. This is a common and easily solved cause.
✅ Check: you have a completed list of five environment points. The engineer, reading it, knows the conditions under which to reproduce the problem.
Step 6: Automate Diagnostics Collection With a Single Script
Goal of this step: collect all technical information into a single text file without rewriting it by hand. The script does the same thing you did manually, but in one run.
Script for macOS and Linux
Create a file diag.sh with the following contents. Replace the variable values with your own.
#!/bin/bash
PROXY="http://LOGIN:PASSWORD@HOST:PORT"
TARGET="https://TARGET-ADDRESS"
ALT="https://STABLE-SITE"
OUT="diag_result.txt"
echo "=== Date and time ===" > $OUT
date >> $OUT
echo "=== curl version ===" >> $OUT
curl --version >> $OUT 2>&1
echo "=== Request through proxy to target ===" >> $OUT
curl -v -x $PROXY -w "code:%{http_code} total:%{time_total}s" $TARGET >> $OUT 2>&1
echo "=== Request through proxy to alternative site ===" >> $OUT
curl -v -x $PROXY -w "code:%{http_code} total:%{time_total}s" $ALT >> $OUT 2>&1
echo "=== Direct request to target without proxy ===" >> $OUT
curl -v -w "code:%{http_code} total:%{time_total}s" $TARGET >> $OUT 2>&1
echo "Done. File: $OUT"How to Run the Script
- Save the file as diag.sh.
- Enter your values into the PROXY, TARGET, and ALT variables.
- In the terminal, navigate to the folder with the file.
- Make the file executable with the command
chmod +x diag.sh - Run it with the command
./diag.sh - After it finishes, open the file diag_result.txt.
Script for Windows (PowerShell)
Create a file diag.ps1 with similar logic.
$Proxy = "http://LOGIN:PASSWORD@HOST:PORT"
$Target = "https://TARGET-ADDRESS"
$Alt = "https://STABLE-SITE"
$Out = "diag_result.txt"
"=== Date and time ===" | Out-File $Out
Get-Date | Out-File $Out -Append
"=== curl version ===" | Out-File $Out -Append
curl --version 2>&1 | Out-File $Out -Append
"=== Through proxy to target ===" | Out-File $Out -Append
curl -v -x $Proxy -w "code:%{http_code} total:%{time_total}s" $Target 2>&1 | Out-File $Out -Append
"=== Through proxy to alternative ===" | Out-File $Out -Append
curl -v -x $Proxy $Alt 2>&1 | Out-File $Out -Append
"=== Direct request ===" | Out-File $Out -Append
curl -v $Target 2>&1 | Out-File $Out -AppendRun it in PowerShell with the command
.\diag.ps1 and open the resulting file.⚠️ Warning: the file diag_result.txt contains your login and password in plain text because they were in the PROXY variable. Before sending it to support, you MUST clean it using the instructions from step 7.
Tip: keep the script with empty variables and only insert values before running it. That way, you won't risk accidentally sharing a file with secrets inside.
✅ Check: the file diag_result.txt is created and contains several blocks: curl version, requests through the proxy to two sites, and a direct request. That's a complete technical diagnostic package.
Step 7: Safely Clean Logs Before Sending
Goal of this step: remove everything secret from the collected data while preserving its diagnostic value. Sending logs with passwords is absolutely off-limits.
What Must Be Cut
- Proxy password. It may have ended up in the connection line in the output. Find and replace it.
- Login, if it's tied to payment data. Usually the login can stay, but if it's part of a sensitive bundle, replace that too.
- Authorization tokens. If the request headers contain Authorization, Bearer tokens, API keys, session cookies — cut all of it.
- Personal data. Any names, addresses, phone numbers, if they accidentally ended up in the request or response body.
What to Replace With
Don't delete the line entirely — that destroys the structure. Replace the secret with a clear placeholder, preserving length and format where possible. Replacement examples:
- Password → [PASSWORD_HIDDEN].
- Login → [LOGIN_HIDDEN].
- Token → [TOKEN_HIDDEN].
This way, the engineer sees that there was a token in that spot but can't see its value. Structure is preserved, security too.
Cleaning Procedure
- Open the file diag_result.txt in a text editor.
- Use search (Ctrl+F) for your password and replace all occurrences with the placeholder.
- Do the same with the login if you decided to hide it.
- Review lines with Authorization, Cookie, api-key headers. Replace the values with placeholders.
- Save the file under a new name, like diag_clean.txt, so you don't confuse it with the original.
⚠️ Warning: check the file twice before sending. The password may have appeared not only in the command but also in the curl output lines. A missed secret is a leak that could compromise your proxy.
Tip: keep the original diag_result.txt locally and only send the cleaned copy. If the engineer asks for clarification, you have the full data at hand.
✅ Check: open the cleaned file and search for your password. Zero results means the cleaning succeeded. The output structure is still preserved.
Step 8: Fill in the Ready-Made Request Template
Goal of this step: bring everything together into an email that the engineer will read and immediately understand the task. Below is a template to copy.
Proxeon Support Request Template
Subject: Problem with proxy [ID] when reaching [TARGET]
1. Proxy ID: [for example PX-48213]
2. Proxy type: [HTTP / HTTPS / SOCKS5]
3. Time of problem: [03/12/2026, 14:32, UTC+3]
4. Target address: [https://api.example.com/v2/data]
5. What I did: [sent a GET request from curl]
6. Expected: [code 200 and data]
7. Got: [connection error / slow response / error code]
Check results:
- Another site through this proxy: [works / doesn't work]
- Direct connection without proxy: [works / doesn't work]
- Another proxy to the same target: [works / doesn't work / no second proxy]
Environment:
- OS: [Windows 11]
- Client: [curl 8.6.0]
- Proxy configuration: [-x flag in curl]
- Corporate filter: [no / yes, ports 80 and 443]
Diagnostic output (login and password hidden) attached in the file diag_clean.txt.
Brief conclusion: based on my checks, the problem is at the [client-proxy / proxy-server] boundary, because [direct connection works but through the proxy it doesn't].How to Fill It In Correctly
- Copy the template into the body of your email or ticket.
- Replace every field in square brackets with your data.
- Attach the cleaned file diag_clean.txt.
- Reread the whole email: is it clear to an outside person.
- Send it.
Tip: the "Brief conclusion" line at the end is the most useful. In it, you formulate your own hypothesis based on the checks. Even if the hypothesis is off, it shows the engineer your thought process and saves time.
✅ Check: the email has no fields left in square brackets — all filled in. The cleaned file is attached. There's a brief conclusion with a hypothesis. The request is ready to send.
Result Verification: Request Readiness Checklist
Before sending, go through a short checklist. It guarantees you haven't missed anything.
- The exact proxy ID is specified, not a description.
- The time of the event is given with an explicit time zone.
- The full target address is specified.
- What you did, what you expected, and what you got are described.
- The full verbose curl output is attached.
- At least two elimination checks have been run and described.
- OS, client, and its version are specified.
- The password and all tokens have been removed from the logs.
- The diagnostic file is attached and clearly named.
- There's a brief conclusion with your hypothesis.
If all points are checked, your request is one of those that get resolved on the first reply. The engineer doesn't need to ask anything — they have the full picture.
✅ Check: all ten checklist points are done. That's the measure of success: the request is self-sufficient.
Common Mistakes and Their Solutions
Let's go over frequent problems when collecting diagnostics and how to fix them.
Problem 1: curl Errors Out Immediately, Without Connecting to the Proxy
Cause: wrong proxy address format or a typo in the scheme (http instead of socks5 or vice versa).
Solution: check the proxy type in your Proxeon dashboard and use the correct scheme. Make sure the port is correct and separated by a colon.
Problem 2: Proxy Authorization Error
Cause: wrong login or password, or special characters in the password that aren't escaped.
Solution: double-check your credentials. If the password contains @, :, / characters, they can break the string. In that case, pass authorization with the separate flag
--proxy-user LOGIN:PASSWORD instead of embedding it in the URL.Problem 3: The Script Won't Run on Windows
Cause: the PowerShell execution policy blocks local scripts.
Solution: run PowerShell as administrator and allow execution for the current session by setting the RemoteSigned policy at the process level. After collecting data, restore the original policy.
Problem 4: The Output Has No Details, Just the Final Line
Cause: the -v flag, which enables verbose mode, was forgotten.
Solution: add -v right after curl. It's what shows the line-by-line connection process, without which diagnostics are useless.
Problem 5: The Password Accidentally Remained in the Sent File
Cause: cleaning was done carelessly; the password appeared in an output line, not just in the command.
Solution: immediately change the proxy password in your Proxeon dashboard. From now on, always search for the password in the cleaned file before sending.
Problem 6: The Problem Doesn't Reproduce in curl but Occurs in the Browser
Cause: the browser adds headers, cookies, or uses a different proxy configuration method.
Solution: honestly state in the request that the problem doesn't reproduce in curl but does in the browser. Attach the browser name and version and how the proxy is configured in it. That's diagnostic information in itself.
Problem 7: The Time in the Logs Doesn't Match Yours
Cause: you gave local time without a time zone, while the server runs in UTC.
Solution: always specify the zone explicitly. If in doubt, attach both markers: your local time and its UTC equivalent.
Additional Capabilities: Advanced Diagnostics
If the basic set isn't enough, here are a few tools for deeper analysis. They'll come in handy for advanced users.
Detailed Timings for Speed Problems
When the proxy works but slowly, it's important to understand at which stage time is being lost. The extended -w flag will show the breakdown.
curl -o /dev/null -s -w "dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n" -x http://LOGIN:PASSWORD@HOST:PORT https://TARGETThese numbers show how much time went into name resolution, connection establishment, encryption, and receiving the first byte. If ttfb is high, the delay is on the target side. If connect is high, the problem is in the network to the proxy.
Problem Reproducibility
If the problem is intermittent, collect a series of requests and show that some pass and some don't. A simple loop of several requests with recorded response codes will give statistics. Stability or its absence is an important fact for support.
Checking Multiple Targets at Once
Make a list of three or four addresses and run them through the proxy in one series. This way you'll immediately see whether the problem is specific to one target or is general.
Tip: attach advanced data only if the basic diagnostics weren't enough. An excess of unstructured information is just as harmful as a lack of it. Start with the minimum, go deeper at the engineer's request.
FAQ: Common Questions About Collecting Diagnostics
Do I have to use curl specifically?
No, but curl is the most universal and engineer-friendly tool. Its output is the same on all systems. If you're working through a library in code, attach its output too, but the curl check is still valuable as a baseline.
What if the problem has already passed and doesn't recur?
Record everything you remember: approximate time, target, nature of the error. Attach your application's logs for that period. Even incomplete data with the exact time will help find the server-side entry.
Should I attach logs if the error is obvious from the description?
Yes. What seems obvious to you requires confirmation with facts. Logs remove guesswork and allow a precise answer rather than a guess.
Can I send my login and password so support can check everything themselves?
No. Secrets are never shared in correspondence. Proxeon support has access to your account by ID without a password. The ID is enough for a server-side check.
How quickly does a reply come if everything is collected correctly?
A complete request cuts time to resolution many times over because it removes the clarification cycle. Exact timeframes depend on support workload, but you definitely avoid several rounds of back-and-forth.
What if curl shows success but the application still doesn't work?
That's a valuable fact: the problem isn't the proxy as such, but how the application uses it. State this in the request, attach the proxy settings in the application and its version.
Should I specify the target address if it's public?
Yes, absolutely. Proxy behavior can depend on the specific target. Without the address, the engineer won't be able to reproduce your exact case.
How do I know if it's my port or a different one is needed?
The port is listed on the proxy card in your dashboard. Different proxy types use different ports. Check your dashboard and don't guess the port.