Why put Nginx in front of Apache
By default, ISPmanager 6 can work with Nginx as a standalone web server or with the classic Nginx + Apache combo. In this combo, Nginx accepts all requests on ports 80 and 443, serves static files directly, and passes dynamic requests to Apache over a local port. This reduces CPU load under high traffic and speeds up delivery of images, CSS, and JS.
The combo is useful for sites with legacy code tied to Apache directives, such as .htaccess with complex mod_rewrite logic. If a site is built for plain Nginx, a separate Apache instance is not needed — see the guide on creating a site in ISPmanager 6 for details.
How the combo differs from plain Nginx
The difference shows up in request handling and in the set of supported directives.
| Criterion | Nginx only | Nginx + Apache |
|---|---|---|
| Static file speed | maximum | high |
| .htaccess support | no | yes |
| Memory usage | low | medium |
| Compatibility with legacy PHP code | limited | full |
New projects on modern frameworks usually do fine with Nginx alone. For legacy sites on old CMS platforms, the combo removes the risk of breakage after migration.
How to enable the combo in ISPmanager 6
The web server is assigned when a site is created or changed in its settings.
- Open the "Domains" section and select the site you need.
- In the site settings, switch the web server to the "Nginx + Apache" option.
- Save the changes and wait for the configuration to apply.
The panel will automatically set up proxying in the Nginx config and start a separate Apache instance on an internal port with no external access.
How to check the configuration after switching
After changing the web server, make sure both processes are running and listening on the right ports:
systemctl status nginx apache2
ss -tlnp | grep -E '80|443|8080'
If Apache does not respond, check its configuration syntax separately from Nginx:
apache2ctl configtest
nginx -t
Both commands should return "Syntax OK" with no errors, otherwise the panel will roll back the last site change.
How to configure proxying for heavy requests
For sites with large file uploads or long PHP scripts, the default timeouts are sometimes too short. In the site settings in ISPmanager 6, you can raise the proxy timeout and the request body limit so Nginx does not close the connection before Apache responds.
If requests still drop after raising the limits, check the logs of both servers — a guide on reading them is in the article logs and error diagnostics in ISPmanager 6.
When the combo is overkill
Not every site needs this setup.
- A static site or an SPA with no backend — Apache is not involved at all.
- A modern PHP framework with clean routing rules in the config rather than in .htaccess.
- A server with limited memory, where every extra Apache process is noticeable.
In these cases, plain Nginx with PHP-FPM runs faster and is simpler to maintain.
Bottom line: what to choose for your site
The Nginx + Apache combo is not a default setting, it is a tool for a specific task. Use it for sites with complex .htaccess rules and legacy code, and keep plain Nginx for new projects. After switching the web server, always check both configs with nginx -t and apache2ctl configtest, and check the site logs whenever in doubt.