64 lines
1.8 KiB
Plaintext
64 lines
1.8 KiB
Plaintext
|
|
# Nginx Configuration untuk Slim Framework 4
|
||
|
|
# Copy ke: /www/server/panel/vhost/nginx/api.btekno.cloud.conf
|
||
|
|
# Atau setup via aaPanel: Website -> api.btekno.cloud -> Settings -> Configuration
|
||
|
|
|
||
|
|
server {
|
||
|
|
listen 80;
|
||
|
|
listen 443 ssl http2;
|
||
|
|
server_name api.btekno.cloud;
|
||
|
|
|
||
|
|
# SSL Configuration (setup via aaPanel)
|
||
|
|
# ssl_certificate /path/to/cert;
|
||
|
|
# ssl_certificate_key /path/to/key;
|
||
|
|
|
||
|
|
# Document Root - PENTING: harus ke folder public/
|
||
|
|
root /www/wwwroot/api.btekno.cloud/api/public;
|
||
|
|
index index.php index.html;
|
||
|
|
|
||
|
|
# Logs
|
||
|
|
access_log /www/wwwlogs/api.btekno.cloud.log;
|
||
|
|
error_log /www/wwwlogs/api.btekno.cloud.error.log;
|
||
|
|
|
||
|
|
# Disable access to hidden files
|
||
|
|
location ~ /\. {
|
||
|
|
deny all;
|
||
|
|
access_log off;
|
||
|
|
log_not_found off;
|
||
|
|
}
|
||
|
|
|
||
|
|
# Main location block
|
||
|
|
location / {
|
||
|
|
try_files $uri $uri/ /index.php?$query_string;
|
||
|
|
}
|
||
|
|
|
||
|
|
# PHP-FPM configuration
|
||
|
|
location ~ \.php$ {
|
||
|
|
try_files $uri =404;
|
||
|
|
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||
|
|
fastcgi_pass unix:/tmp/php-cgi-83.sock; # Sesuaikan dengan PHP version
|
||
|
|
fastcgi_index index.php;
|
||
|
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||
|
|
include fastcgi_params;
|
||
|
|
|
||
|
|
# Disable buffering for SSE
|
||
|
|
fastcgi_buffering off;
|
||
|
|
}
|
||
|
|
|
||
|
|
# Disable PHP execution in uploads
|
||
|
|
location ~* /uploads/.*\.php$ {
|
||
|
|
deny all;
|
||
|
|
}
|
||
|
|
|
||
|
|
# Security headers
|
||
|
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||
|
|
add_header X-Content-Type-Options "nosniff" always;
|
||
|
|
add_header X-XSS-Protection "1; mode=block" always;
|
||
|
|
|
||
|
|
# Gzip compression
|
||
|
|
gzip on;
|
||
|
|
gzip_vary on;
|
||
|
|
gzip_min_length 1024;
|
||
|
|
gzip_types text/plain text/css text/xml text/javascript application/json application/javascript application/xml+rss;
|
||
|
|
}
|
||
|
|
|