Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →You can test an Apache name-based virtual host without creating a public DNS record. Send the hostname configured in ServerName or ServerAlias while connecting to the server’s IP address. For HTTP, use an explicit Host header or a local name override. For HTTPS, preserve the hostname in the URL so the client also sends the correct TLS SNI name.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Start by checking what Apache actually loaded, then test the desired host with curl. A request to the bare IP alone normally selects the first virtual host for that IP and port, so it is not a valid test of another name-based site.
As an Amazon Associate I earn from qualifying purchases.
How Apache selects a virtual host
Apache first matches the connection’s local IP address and port against the <VirtualHost> declarations. When several name-based virtual hosts share that address and port, Apache compares the hostname supplied by the client with each ServerName and ServerAlias. The hostname does not have to resolve publicly; it only has to be present in the request.
For example, a server might have several declarations on 203.0.113.10:80:
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
<VirtualHost 203.0.113.10:80>
ServerName app.test
DocumentRoot /srv/www/app
</VirtualHost>
<VirtualHost 203.0.113.10:80>
ServerName shop.test
DocumentRoot /srv/www/shop
</VirtualHost>
Both sites use the same address, so the hostname is what separates them. A request carrying Host: app.test can select the first site, while Host: shop.test can select the second. A request that carries neither name gives Apache no matching name to compare.
The hostname is part of the test
If the vhost contains ServerName app.test, send app.test as the request hostname. A configured alias works in the same way. The name is compared with the HTTP Host value, and, for TLS connections, the SNI name supplied during the handshake also participates in selection.
This is why testing only the address is incomplete. The IP tells Apache which address and port group to examine; the hostname tells it which member of that group you want. A local test name such as app.test is sufficient. It does not need a registrar, a public zone, or an Internet-routable DNS answer.
Why a bare IP commonly shows another site
A request such as http://203.0.113.10/ normally supplies no name that matches app.test. Apache therefore serves the first vhost defined for that IP and port. That first entry is the default or primary name-based vhost for the address, even if it is not the site you intended to inspect.
The result is often mistaken for a broken configuration. In reality, Apache may be behaving exactly as configured: it received an address but no matching host name. Use the bare-IP request only when you intentionally want to inspect the default vhost. To test another vhost, include its configured name.
Confirm Apache’s parsed virtual-host map
Before testing from a client, inspect the configuration Apache actually parsed. This catches misspelled names, wrong ports, overlapping addresses and unexpected ordering.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →sudo apachectl -S
On Windows builds, the equivalent is commonly:
httpd.exe -S
The output lists each virtual host’s address, port, server name and configuration file location. Find the IP:port pair you are testing, confirm that the intended ServerName or ServerAlias appears there, and note which vhost Apache lists first for that pair. Run the command again after configuration changes so your test is based on the configuration Apache has loaded, not merely on the file you edited.
What to look for in the output
- Address and port: Verify that the declaration covers the exact endpoint you will call. A vhost on one address or port does not automatically answer on another.
- Name: Check the spelling of
ServerNameand every relevantServerAlias. Your test name must be one of those values. - Ordering: Identify the first vhost for the IP:port pair. It is the one Apache uses when no supplied name matches.
- File location: Use the reported configuration path to verify that the running process read the file you changed.
What a mismatch means
- If the target name is absent, the request cannot select that vhost by name.
- If the target address or port is absent, a request sent to that endpoint cannot reach the declaration.
- If the name is present but another vhost is first, a request with no matching hostname will still use the first entry.
- If a change is missing from the
-Soutput, reload or otherwise apply the configuration using your normal Apache administration procedure before testing again.
The -S command does not send a client request and does not prove that an application returns the expected content. It answers a narrower, essential question: what virtual-host map does Apache believe it is running?
Test an HTTP vhost by IP with curl
For an unencrypted HTTP request, put the configured hostname in the Host header while connecting to the server IP:
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
curl -i -H 'Host: app.test' http://203.0.113.10/
Replace app.test with the exact ServerName or an appropriate ServerAlias, and replace 203.0.113.10 with the server address. The address shown is an example; use the address that serves the vhost you inspected.
This command deliberately separates the network destination from the HTTP identity. The URL makes curl connect to the numeric address. The -H option supplies the name Apache uses for vhost matching. No public DNS lookup is needed for the request.
Read the response, not just the status code
The -i option prints response headers and the body. Check the status, any Location header, the server-generated headers and distinctive application content. A redirect to another hostname may be intentional application behavior rather than a vhost-selection failure.
For example, a 301 or 302 response with a Location header can show that the selected application is enforcing a canonical URL or HTTPS. The redirect itself is evidence that a request reached some configured handler; inspect the destination separately instead of immediately changing the vhost map.
For connection-level detail, use verbose mode:
curl -v -H 'Host: app.test' http://203.0.113.10/
Verbose output helps distinguish a connection problem from a routing problem and shows the request headers that curl sent. It also exposes redirects and response headers that a browser may hide behind its navigation UI. Use -i when you mainly need a readable response and -v when you need to see the exchange and connection diagnostics.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsWhen a Host header test is the right tool
- It changes only the single request you run.
- It is the quickest check for plain HTTP.
- It does not require a public DNS record or a local hosts-file edit.
- It is useful for checking several aliases by repeating the command with a different header value.
- It is not sufficient by itself for HTTPS, because TLS SNI must also carry the intended hostname.
Do not infer a name-based routing result from a command that omits the header. A bare-IP HTTP request and an explicit-Host request are testing different conditions.
Use a hosts-file entry for ordinary browser testing
A browser normally obtains the hostname’s address through name resolution. You can override that resolution only on your test machine by adding a temporary line to its hosts file:
203.0.113.10 app.test
After saving the entry, browse to http://app.test/. The browser connects to the selected IP but sends app.test as the hostname, allowing Apache to choose the matching vhost. This affects subsequent local clients that consult that hosts file; it does not create a public DNS record.
The browser workflow is useful when you need ordinary navigation, forms, cookies or client-side behavior that is inconvenient to reproduce with one curl command. The address bar contains the same name users would normally request, while the local mapping keeps the test directed at the chosen server.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Remove the override when testing is finished
Delete or comment out the temporary line when it is no longer needed. Leaving it in place can make that machine continue reaching the test server even after public DNS for the name changes. If the browser appears to ignore the change, close existing tabs, clear its DNS or connection cache according to the browser and operating system, and try a fresh navigation.
A hosts-file change is local in scope. Other computers, external users and public resolvers continue using their normal name-resolution data. Remember that the mapping remains active until you remove it, so document temporary entries during a team test.
Keep the hostname while overriding the address with curl
--resolve is more precise than a hosts-file edit for scripted requests. It tells curl which address to connect to while retaining the hostname in the URL:
curl --resolve app.test:80:203.0.113.10 http://app.test/
Here, app.test remains the URL hostname and the connection goes to 203.0.113.10 on port 80. Curl consequently sends the matching HTTP hostname without changing the machine’s general name resolution. Add -i or -v when you need headers or connection diagnostics:
Recommended Free Tools
curl -iv --resolve app.test:80:203.0.113.10 http://app.test/
The port in the --resolve mapping should match the URL’s port. For a nonstandard HTTP listener, use that listener’s port in both places. This one-command scope makes --resolve convenient for repeatable checks and automation: each invocation states the name, port and address explicitly, and no persistent client setting is changed.
Test an HTTPS virtual host without public DNS
HTTPS requires two pieces to agree: the HTTP hostname and the TLS SNI hostname. Use a hostname-preserving URL with --resolve:
curl -vk --resolve app.test:443:203.0.113.10 https://app.test/
This command connects to the specified IP on port 443, keeps app.test in the URL, sends that name in SNI and uses it for the HTTP request. Apache can therefore select the intended SSL virtual host even though the name has no public DNS record.
The sequence matters. If you instead connect to an IP URL, the client is not presenting the configured DNS name in the same way. Apache may choose the first vhost, and the certificate may be issued for a name rather than the numeric address. Preserve the name throughout the request when testing a particular SSL vhost.
Free tools Windows power users keep installed
One-click scans. No signup required.
Understand the certificate warning
The -k option disables certificate verification for this diagnostic request. It is useful when the test certificate is self-signed or does not include the temporary name, but it does not make the connection trusted. Once a certificate is trusted and contains app.test, omit -k:
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
curl -v --resolve app.test:443:203.0.113.10 https://app.test/
If the request works with -k but fails without it, the failure is certificate validation, not necessarily virtual-host matching. Check that the certificate’s names cover the hostname and that the issuing chain is trusted by the client. Conversely, a request that passes certificate checks can still return the wrong application if the name, address or ordering points to another vhost.
Why an HTTPS IP test is misleading
Opening https://203.0.113.10/ supplies an IP rather than the configured DNS name. It can select the first vhost and can also produce a certificate-name error. Use the hostname-preserving form above when the goal is to test a specific SSL vhost.
Choose the testing method that fits the client
| Method | Best for | Hostname behavior | Scope | Protocol notes |
|---|---|---|---|---|
curl -H 'Host: name' http://IP/ |
One quick HTTP request | Sends an explicit HTTP Host value |
One command | HTTP only; no TLS SNI |
| Hosts-file entry | Browser or multiple local clients | Normal URL and hostname resolution use the temporary mapping | Subsequent local clients until removed | Works for HTTP and HTTPS, subject to certificate validation |
curl --resolve |
Repeatable scripts and precise HTTP or HTTPS checks | URL keeps the test name while curl connects to the chosen IP | One command | For HTTPS, preserves SNI as well as the HTTP hostname |
apachectl -S |
Server-side configuration inspection | Does not send a request | Shows Apache’s parsed map | Reveals address, port, names and ordering |
Use the smallest-scope method that answers your question. A single Host header is fastest for an HTTP check. A hosts-file entry is appropriate when a browser must behave normally. --resolve is a good middle ground for scripts because it preserves the URL name without changing other clients. Start with apachectl -S whenever you are unsure which address, port or ordering Apache is using.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Troubleshoot a vhost that still shows the default site
1. Verify the exact name
Compare the hostname in your command or browser URL character for character with ServerName or one of the declared ServerAlias values. A different subdomain, spelling, port-qualified name or unintended trailing character can result in no match. Test one known configured name first, then test aliases individually.
2. Verify the address and port
Use the same IP and port shown in apachectl -S. A vhost on one address or port does not automatically handle requests sent to another. For HTTPS, use port 443 in both the --resolve mapping and the URL; for HTTP, use port 80 unless your configuration specifies another port.
3. Check which vhost is first
If the request contains no matching hostname, Apache serves the first vhost for that IP:port. This explains why a bare-IP request repeatedly displays the same site. It does not prove that the target vhost is broken; it proves that the request did not identify it.
4. Separate redirects from routing
Inspect Location with curl -i or follow the exchange with curl -v. An application may redirect every request to a canonical hostname or HTTPS URL. Test the redirected destination with the same hostname-preserving approach before changing Apache configuration. A redirect can therefore be expected behavior from the correctly selected site.
5. Separate TLS errors from vhost errors
For HTTPS, first confirm that the request reaches the server with the intended SNI name. Then evaluate certificate trust and hostname coverage independently. A certificate warning can occur after Apache has selected the correct vhost; conversely, a successful certificate check does not by itself prove that the expected application content was selected.
6. Recheck Apache’s view after edits
Run apachectl -S again after configuration changes. If the target name, address or ordering is not reflected there, the running Apache process is not using the configuration you expected, and client-side commands cannot correct that server-side discrepancy.
Best Value
7. Compare one variable at a time
When diagnosing a failure, keep the address fixed and change only the hostname, or keep the hostname fixed and change only the protocol. First establish that the server is reachable. Next confirm HTTP name matching with curl -i -H. Then test HTTPS with --resolve. This sequence prevents a certificate problem, redirect, or wrong port from being mistaken for a name-matching problem.
A repeatable no-DNS test workflow
- On the server, run
sudo apachectl -S(orhttpd.exe -Son Windows) and identify the target name, IP and port. - Confirm that the target is listed under
ServerNameorServerAlias, and note the first vhost for the same IP:port. - For HTTP, run
curl -i -H 'Host: name' http://IP/and inspect the status, headers and body. - If you need browser behavior, add a temporary hosts-file line mapping the IP to the configured name, then browse to that name.
- For a one-command hostname-preserving test, use
curl --resolve name:80:IP http://name/. - For HTTPS, use
curl -vk --resolve name:443:IP https://name/; remove-kwhen certificate trust and hostname coverage are valid. - If the result is unexpected, compare the exact name, address and port with
apachectl -S, then inspect redirects and certificate diagnostics separately. - Remove any temporary hosts-file entry after browser testing so later local requests are not silently redirected to the test address.
What this method does—and does not—change
These tests do not publish DNS, register a domain or alter how other users reach the server. A Host header or --resolve mapping affects only the command that uses it. A hosts-file entry affects only clients on the machine where it was added and remains active until removed. Apache’s virtual-host configuration and public name resolution are separate systems: defining a vhost does not create DNS records for its names.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallThat separation is useful during development and migration. You can validate address binding, name matching, redirects, application responses and certificate behavior before changing public records. Once public DNS is eventually updated, repeat the same checks without the local override to confirm that ordinary clients reach the intended address.
Frequently Asked Questions
Can I view an Apache virtual host without pointing DNS at it?
Yes. Inspect the parsed map with sudo apachectl -S, then send the configured name in a request. For HTTP use curl -i -H 'Host: name' http://IP/. For HTTPS use curl -vk --resolve name:443:IP https://name/ so the hostname is retained for both HTTP and TLS SNI.
How do I test a name-based vhost by IP?
Use the server IP as the connection destination and the vhost name as the request identity: curl -i -H 'Host: app.test' http://203.0.113.10/. The name must match ServerName or ServerAlias in the vhost.
Why does Apache show the default site when I browse the server IP?
A bare-IP request normally has no hostname matching the target vhost. Apache then serves the first vhost configured for that IP and port, which is the default or primary name-based vhost. Include the intended hostname to select another entry.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →How do I send the Host header with curl?
Pass it with -H, for example curl -i -H 'Host: app.test' http://203.0.113.10/. This method is for HTTP; HTTPS also needs the hostname in the URL and TLS SNI.
How can I test an SSL vhost without a public domain?
Use curl’s hostname-preserving resolution: curl -vk --resolve app.test:443:203.0.113.10 https://app.test/. Remove -k once the certificate is trusted and covers app.test.
What is the difference between a hosts-file entry and curl –resolve?
A hosts-file line affects subsequent local clients, including a browser, until you remove it. --resolve changes only the curl command and keeps the hostname in the URL, making it precise for scripted HTTP or HTTPS tests.
Does defining an Apache virtual host create DNS automatically?
No. Apache virtual-host configuration and DNS are separate. A local hosts-file entry, an explicit Host header, or --resolve lets you test the vhost without publishing a DNS record.
How can I tell whether a failure is routing, a redirect, or a certificate problem?
Use curl -i to inspect status and Location, and curl -v for request and connection details. For HTTPS, compare behavior with and without -k. A failure only without -k points to certificate validation, while a redirect may be intentional application behavior.
The Bottom Line
Apache needs the intended hostname, not a public DNS record, to select a name-based virtual host. Verify the parsed map with apachectl -S, use an explicit Host header for HTTP, and use a hosts-file entry or curl --resolve when the client must keep the hostname. For HTTPS, preserve that name so SNI and certificate checks are evaluated separately from routing.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




