Trace the request path
A typical path is client → IIS HTTPS → ARR → application on 127.0.0.1. That architecture does not require opening the backend port to the internet. Still verify that the application listens only on the intended interface.
The URL Rewrite rule and ARR proxy functionality are separate components. Presence of one does not prove the other is enabled. Inspect existing modules and the site rule before reinstalling components on a working server.
Keep an operating record for each app
| Field | Purpose |
|---|---|
| Working directory and executable | Resolve dependencies and relative paths correctly |
| Arguments and environment | Select the right module and application configuration |
| Local port and address | Avoid collisions and unintended exposure |
| Process owner | Choose one task, service or panel manager |
| Logs and health route | Measure startup separately from useful behavior |
Avoid conflicting process managers
If server and worker are separate processes, locate existing tasks or services for each. A transfer to panel management should not leave both managers active. Record the original setup, stop the previous owner in a maintenance window, validate the replacement and restore the recorded setup if it fails.
This is an operating principle, not a claim of automatic migration for every app. Verify the process controls available in the installed AdaPanel version and its release notes. A healthy HTTP process alone does not establish a healthy worker.
Test the process and proxy independently
- Check the expected health response on the local port and confirm which process owns that port.
- Call the application through the external HTTPS hostname and verify certificate, redirects and response content.
- Exercise login, uploads and any required long-lived connection or WebSocket behavior.
- In a maintenance environment, confirm restart behavior, exactly one server and the intended worker count; verify that queued work progresses.
Validate scheme, headers and time budgets
Check that the application recognizes the original HTTPS scheme and hostname. Configure forwarded-header handling according to the application documentation and trusted proxy sources; do not trust arbitrary client-supplied headers.
For long operations, proxy timeout, transfer time and processing duration can differ. Measure with the actual workload. A running IIS service does not establish application health when backend connections are failing.
Frequently asked questions
Does URL Rewrite start the application?
No. A routing rule is not a process manager. Startup, recovery and boot behavior need separate configuration.
Should I expose the backend port publicly?
Usually not when IIS proxies to an application on the same server’s localhost. Publish through IIS and verify the actual listening interface.
Can a Windows task and the panel manage the same worker?
Do not leave two active owners for the same process. Transfer ownership deliberately and test for duplicate execution.
Does a health response prove the worker is running?
Only if that check actually measures worker progress. Otherwise submit a harmless job and verify its completion separately.