Пример конфигурации для виртуалхоста ниже.
Apache в данном примере слушает порт 81 на локалхосте и тоже корректно настроен (то есть отличает запросы к разным сайтам, как минимум). 80й порт слушает nginx.
server {
server_name domain.tld;
listen 80;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /path/to/your/website/docroot;
# если для статических файлов не нужны access-логи, то нужно расскоментировать следующую строку:
# access_log off;
error_page 404 = @fallback;
}
location / {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~* ^/(webstat|awstats|webmail|myadmin|pgadmin)/ {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location @fallback {
proxy_pass http://127.0.0.1:81;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
}