server { listen 443 ssl; server_name _; root '/var/www/html'; index index.php index.html; ssl_certificate '/etc/ssl/certs/iRedMail.crt'; ssl_certificate_key '/etc/ssl/private/iRedMail.key'; location ~ /\. { deny all; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } # ------------------------------------------------------------------------------------------------------------------ # # IREDADMIN # ------------------------------------------------------------------------------------------------------------------ # location ~ ^/iredadmin/static/(.*) { alias /opt/www/iredadmin/static/$1; } location ~ ^/iredadmin(.*) { rewrite ^/iredadmin(/.*)$ $1 break; include uwsgi_params; uwsgi_pass 127.0.0.1:7791; uwsgi_param UWSGI_CHDIR /opt/www/iredadmin; uwsgi_param UWSGI_SCRIPT iredadmin; uwsgi_param SCRIPT_NAME /iredadmin; } location = /iredadmin { rewrite ^ /iredadmin/; } location ~ ^/newsletter/ { rewrite /newsletter/(.*) /iredadmin/newsletter/$1 last; } # ------------------------------------------------------------------------------------------------------------------ # # ROUNDCUBEMAIL # ------------------------------------------------------------------------------------------------------------------ # location ~ ^/mail/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; } location ~ ^/mail/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; } location ~ ^/mail/plugins/.*/config.inc.php.* { deny all; } location ~ ^/mail/plugins/enigma/home($|/.*) { deny all; } location ~ ^/mail/static.php/(SQL|bin|config|installer|logs|temp|vendor)/ { deny all; } location ~ ^/mail/static.php/(.*\.md|composer\.*|INSTALL|LICENSE|Makefile|UPGRADING)$ { deny all; } location ~ ^/mail/static.php/plugins/.*/config.inc.php.* { deny all; } location ~ ^/mail/static.php/plugins/enigma/home($|/.*) { deny all; } location = /mail { return 301 /mail/; } location = /mail/ { alias /opt/www/roundcubemail/public_html/; index index.php; } location ~ ^/mail/static.php/(.*) { alias /opt/www/roundcubemail/$1; } location ~ ^/mail/(.*\.php)$ { include fastcgi_params; fastcgi_index index.php; fastcgi_pass unix:/run/php/iredmail.sock; fastcgi_param HTTP_PROXY ''; fastcgi_param SCRIPT_FILENAME /opt/www/roundcubemail/public_html/$1; } # ------------------------------------------------------------------------------------------------------------------ # # PHP # ------------------------------------------------------------------------------------------------------------------ # location ~ \.php$ { include fastcgi_params; fastcgi_index index.php; fastcgi_pass unix:/run/php/iredmail.sock; fastcgi_param HTTP_PROXY ''; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # ------------------------------------------------------------------------------------------------------------------ # # STUB STATUS # ------------------------------------------------------------------------------------------------------------------ # location = /stub_status { stub_status on; access_log off; allow 127.0.0.1; deny all; } location = /status { include fastcgi_params; fastcgi_pass unix:/run/php/iredmail.sock; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; access_log off; allow 127.0.0.1; deny all; } }