/sites-available

NGINX configs for Thulium

Primary LanguagexBase

Templates

These NGINX configurations set up HTTP servers at port 80. HTTPS on port 443 should be set up using certbot.

Static web page

The URL example.space will point to files in /srv/www/example.space.

server {
    listen 80;
    listen [::]:80;
    root /srv/www/example.space;
    server_name example.space;
    error_page 404 /404.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

Reverse proxy

The URL example.space will point to the local port 8080.

server {
    listen 80;
    listen [::]:80;
    client_max_body_size 512M;
    server_name example.space;
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

PHP site with HTTP authentication

The URL example.space will point to the PHP application at /srv/www/example.space/index.php. HTTP authentication done as indicated here.

server {
    listen 80;
    listen [::]:80;
    server_name example.space;

    root /srv/www/example.space;
    index index.html index.php;

    # set up HTTP basic authentication
    auth_basic           "Authentication Required";
    auth_basic_user_file /etc/apache2/.htpasswd;

    location / {
        try_files $uri $uri/ =404;
    }

    # process PHP requests
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}