hnschat-web/nginx.template.conf

63 lines
1.8 KiB
Plaintext

worker_processes 1;
events {
worker_connections 1024;
}
http {
include $!{nginx}/conf/mime.types;
default_type application/octet-stream;
server {
listen 80;
root /app;
index index.php;
location /wss {
proxy_pass http://hnschat-server:4444/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include $!{nginx}/conf/fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Modify the PHP-FPM socket path as per your setup
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $document_root;
}
location ~* ^/(avatar.php|preview.php|assets|uploads)/ {
add_header Cache-Control "max-age=63072000, public";
}
location ~ ^/(avatar|preview)/([A-Za-z0-9]+)/?$ {
rewrite ^/avatar/([A-Za-z0-9]+)/?$ /etc/avatar.php?id=$1 last;
rewrite ^/preview/([A-Za-z0-9]+)/?$ /etc/preview.php?id=$1 last;
}
location ~ ^/invite/([A-Za-z0-9-]+)/?$ {
rewrite ^/invite/([A-Za-z0-9-]+)/?$ /id.php?invite=$1 last;
}
# Enable CORS headers
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "GET";
# Disable server tokens and signatures
server_tokens off;
add_header X-Powered-By "PHP/7.4"; # Modify PHP version as per your setup
# Directory permissions for /app
location /app/ {
allow all;
}
}
}