Apache timeout changes belong in the server or virtual-host configuration, but the correct directive depends on where the delay occurs. Use TimeOut for Apache’s general I/O waits, ProxyTimeout when a reverse-proxied application server is slow, and RequestReadTimeout for slow TLS handshakes, request headers, or upload bodies. After editing, test the configuration and reload Apache through your operating system’s normal service manager.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
Choose the directive that matches the delay
Apache has several independent timeout controls. Increasing the wrong one will not fix the request that is actually expiring, and an unnecessarily high value can leave worker processes or connections occupied for longer.
As an Amazon Associate I earn from qualifying purchases.
| What is slow? | Directive | Example | What it controls | Typical result when it expires |
|---|---|---|---|---|
| Apache’s general read, write, CGI, or filter I/O | TimeOut |
TimeOut 120 |
Waiting for client packets, client acknowledgments, CGI output, and external-filter output | The affected operation fails; the exact response depends on the request and module involved |
| Apache is waiting for a reverse-proxied application server | ProxyTimeout |
ProxyTimeout 120 |
The network wait for a proxied request | Apache returns a proxy timeout, commonly seen by clients as a 504 Gateway Timeout |
| A client is slow sending a handshake, headers, or request body | RequestReadTimeout |
RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 |
Receive stages and their minimum data rates | Apache sends a 408 Request Time-out when a configured stage expires |
Start by identifying which side is waiting: the client-to-Apache receive path, Apache’s own I/O path, or Apache’s connection to an upstream application. These settings are related, but they are not interchangeable.
Change Apache’s general TimeOut
What TimeOut covers
The core TimeOut directive defines how long Apache httpd waits for I/O in several situations. In Apache HTTP Server 2.4, its documented default is 60 seconds. It can be set in the main server configuration or inside a virtual host.
#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.
- Waiting for a client TCP packet when Apache’s read buffer is empty.
- Waiting for a client acknowledgment while Apache’s send buffer is full.
- Waiting for output from CGI or
mod_cgidprograms. - Waiting for output from an external filter.
Use this directive when the timeout is genuinely a general Apache I/O problem and no more specific module setting describes it. For example:
# Main server configuration or a selected virtual host
TimeOut 120
The number is seconds. A value of 120 allows the relevant wait to continue for two minutes, but it does not make an application generate output faster and it does not override a separate timeout enforced by a backend, script, operating system, or client.
Free tools Windows power users keep installed
One-click scans. No signup required.
When not to use TimeOut
Do not raise the global value merely because a reverse-proxy request returns a 504. A proxy request normally has its own ProxyTimeout setting, which defaults to the current TimeOut value but can be set independently. Likewise, a slow upload is governed by the receive-stage controls in RequestReadTimeout, not necessarily by a larger general I/O limit.
Set ProxyTimeout for a slow upstream application
What it controls
ProxyTimeout is the mod_proxy directive for the wait on a proxied request. Its syntax is ProxyTimeout seconds, and its default is the value of TimeOut. Place it in the server configuration for a global proxy policy or in the virtual host that fronts the slow application.
# Wait up to 120 seconds for the proxied network operation
ProxyTimeout 120
This changes Apache’s network wait; it does not change the upstream application’s own request, database, worker, or script timeout. If the application terminates the request after 30 seconds, Apache cannot make that application continue by setting ProxyTimeout 120. Conversely, setting Apache to 120 seconds is pointless if the upstream consistently fails at 20 seconds.
Scope a proxy timeout to one virtual host
A site that has both fast and slow backends should normally avoid raising the global value for every host. Put the directive in the relevant <VirtualHost> block instead:
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors<VirtualHost *:443>
ServerName app.example.invalid
ProxyTimeout 120
# Other proxy directives for this virtual host
</VirtualHost>
The example hostname is only a configuration label; replace it with the name already used by your deployment. Keep the timeout close to the proxy configuration it governs so that a later administrator can see why the larger wait exists.
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.
Use RequestReadTimeout for slow clients and uploads
Receive-stage syntax
The mod_reqtimeout module provides timeouts and minimum data rates for receiving requests. Its directive syntax is:
RequestReadTimeout handshake=... header=... body=...
Apache 2.4 documents this default:
handshake=0 header=20-40,MinRate=500 body=20,MinRate=500
The settings apply separately to the TLS handshake (where supported), request headers, and request body. A fixed value such as header=10 imposes a ten-second limit on the whole header stage. A range with a minimum rate, such as header=10-30,MinRate=500, starts with a ten-second limit, allows the limit to grow while data arrives at at least 500 bytes per second, and caps the stage at 30 seconds. A stage value of 0 removes that stage’s limit.
Allow a slow but active upload
For a client that needs more time to send headers and a request body, adjust those stages rather than raising every Apache timeout:
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated 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 matchRequestReadTimeout header=20-40,MinRate=500 body=60,MinRate=500
Here the header stage can extend with incoming data up to 40 seconds, while the body stage has a 60-second limit and requires the configured minimum rate. Choose values that match the slowest legitimate connection you intend to support; a very permissive policy can make it easier for idle connections to consume resources.
Handshake compatibility
The handshake stage is available beginning with Apache HTTP Server 2.4.39. The mod_reqtimeout module itself is available in HTTPD 2.2.15 and later. On an older installation, a configuration containing an unsupported handshake parameter can fail the configuration test. Check the installed Apache version and module availability before adding that stage.
When a configured receive stage expires, Apache sends a 408 Request Time-out. That response indicates a client-to-Apache receive problem; it is different from an upstream proxy timeout.
Change the setting safely
1. Locate the active configuration
Find the configuration files that the running Apache instance actually loads. Packaging differs: one installation may use a single httpd.conf, while another assembles enabled server and virtual-host files from separate directories. Do not edit an unused sample file or a disabled site definition.
Recommended Free Tools
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
For a host-specific change, identify the virtual host that receives the affected request. For a global change, use the main server context. The directives discussed here are valid in server configuration or virtual-host context, not in arbitrary per-directory sections.
2. Add or edit one directive
Use one clear value in the intended scope. If a directive already exists, edit the effective setting instead of adding competing copies. Keep a comment explaining the workload or incident that justified a non-default value:
# Long-running report endpoint; reviewed 2026-10-15
ProxyTimeout 180
The date and reason in a comment are operational aids, not part of Apache’s syntax. Remove the comment’s date if your configuration-management policy supplies its own change history.
3. Check for an overriding or later value
Apache configurations can include files, and the same directive may appear in both global and virtual-host contexts. Inspect the complete effective configuration for another occurrence. A more specific virtual-host setting or a later loaded value may determine the behavior you observe. If you cannot explain which value is active, do not assume the first match in one file is authoritative.
4. Run the package’s configuration test
Use the test command supplied by your operating system package before reloading. Common Apache installations expose a command such as apachectl configtest or httpd -t, but the exact command and binary path vary.
apachectl configtest
A successful test normally reports Syntax OK. A failure identifies a file and line; correct that error before applying any reload. Unsupported directives, misspelled capitalization, missing modules, and malformed virtual-host blocks are common causes.
5. Reload, then reproduce the request
After a successful test, reload Apache using the service manager used by the installation. Typical service names are apache2 on Debian-derived systems and httpd on many Red Hat-derived systems:
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.
systemctl reload apache2
systemctl reload httpd
Use only the command that matches your host. A reload applies configuration without the full interruption of a stop-and-start cycle; restart only when your deployment requires it or the service manager cannot perform a reload.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repeat the original request with the same client, URL, payload, and backend. Check Apache’s error and access logs, plus the upstream application’s logs, to confirm that the changed stage—not an unrelated limit—was responsible.
Global setting or one virtual host?
Use server context when
- All hosted sites share the same connection and workload characteristics.
- You administer a dedicated Apache instance with one application policy.
- You have measured a common requirement and accept the resource impact across every host.
Use virtual-host context when
- Only one application performs long-running reports or exports.
- One site accepts slower uploads while other sites should retain stricter limits.
- Different backends have different response-time budgets.
Per-virtual-host values reduce collateral effects. A global increase can allow idle or stalled connections on unrelated sites to occupy workers longer, especially when traffic is concurrent.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Diagnose the symptom before raising a value
A 504 appears while proxying
Confirm that Apache is waiting for the upstream application rather than the client. Inspect the proxy error log and the upstream application’s access, worker, and application logs around the same timestamp. If the backend is still processing, set ProxyTimeout for the relevant virtual host and review the backend’s own timeout and capacity. If the backend has already closed the connection, increasing Apache’s value will not restore the response.
A 408 appears during a request or upload
Check whether the client is slow sending TLS handshake data, headers, or the body. Review the active RequestReadTimeout values and the request size and transfer rate. A larger body-stage allowance may be appropriate for a known low-bandwidth audience, but removing the limit entirely can expose Apache to many connections that send data extremely slowly.
CGI or filter output stops after a fixed interval
This is a candidate for TimeOut, provided the process is producing output slowly rather than waiting on a proxy backend. Confirm the CGI or filter log behavior and check whether the application itself has a shorter execution limit. Raising Apache’s value cannot override a script runtime limit or a client that has disconnected.
The new value has no effect
- The edited file may not be loaded by the running instance.
- A later include or virtual-host value may override it.
- The configuration may have failed its test, so Apache kept the old configuration.
- The request may be handled by a different listener, server, container, or proxy.
- Another component—such as the upstream application or client—may be timing out first.
Compare timestamps in Apache and upstream logs, verify the process and listener handling the request, and inspect the complete loaded configuration before changing another directive.
Best Value
How to choose a responsible timeout
Apache’s documentation supplies directive behavior and defaults, not one universal best value. Choose a limit from measured request duration and the slowest legitimate connection you need to support.
- Measure normal and worst-case completion times for the affected operation.
- Identify which component currently expires first.
- Set the narrowest directive and scope that covers the requirement.
- Add a margin for normal variance, rather than multiplying the value without evidence.
- Load-test or observe concurrent traffic, because longer waits consume connections and workers while requests are pending.
- Recheck logs after deployment and lower the value if the original workload no longer needs the extra time.
For receive stages, prefer minimum-rate and capped forms when you need to accommodate slow but active clients. For backend requests, coordinate Apache’s proxy limit with the application’s own timeout so that failures are predictable instead of being cut off by whichever layer happens to be shortest.
Common configuration mistakes
Using the wrong capitalization or spelling
The core directive is spelled TimeOut with a capital O. ProxyTimeout and RequestReadTimeout are separate names. Apache directives are not interchangeable labels, so a misspelled name will fail the configuration test rather than silently changing the timeout.
Changing only the backend application
An application can have a generous execution limit while Apache’s proxy wait remains shorter. Configure ProxyTimeout at the Apache layer and independently verify the backend’s limits.
Removing receive limits without considering abuse
A zero value removes the limit for that receive stage. That may help a controlled environment, but unrestricted slow clients can retain connections for an unbounded period. Prefer a measured cap and minimum rate unless you have a specific reason to remove the limit.
Reloading without a syntax test
An invalid configuration can prevent a reload or leave the old configuration active. Always run the platform’s Apache test first, retain the previous working file until the test succeeds, and verify the result with a real request and log entries.
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 →Quick reference
| Need | Directive and pattern | Important qualification |
|---|---|---|
| General Apache I/O | TimeOut 120 |
Apache 2.4 default is 60 seconds; covers several read, write, CGI, and filter waits |
| Reverse-proxy wait | ProxyTimeout 120 |
Defaults to TimeOut; changes Apache’s network wait, not the upstream application’s own timeout |
| Headers or body from slow clients | RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500 |
Uses stage limits and rates; expiration produces HTTP 408 |
| TLS handshake stage | RequestReadTimeout handshake=... |
Handshake support begins with Apache 2.4.39 |
The Bottom Line
Change the directive that corresponds to the waiting stage: TimeOut for general Apache I/O, ProxyTimeout for a slow proxied backend, and RequestReadTimeout for slow request receipt. Apply the smallest scoped change, run the configuration test, reload Apache, and verify the result in both Apache and upstream logs.
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.




