reverse proxy for piwigo on VM #1018

Open
opened 2026-10-05 00:28:41 +02:00 by adam · 1 comment
Owner

I'm having some issues with getting photos to show on the android app and uploading images from shotwell. This is all with my own instance of piwigo. I think my reverse proxy configuration may the source of my problems. Both the VM and reverse proxy are on debian 10 and piwigo is 2.10.1.

I have piwigo on a VM with the following nginx server configuration

server {
	listen 20000 default_server;
	listen [::]:20000 default_server;

	root /var/www/piwigo;

	index index.html index.htm index.nginx-debian.html index.php;

	server_name _;

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

	location ~ \.php$ {
		include snippets/fastcgi-php.conf;

		fastcgi_pass unix:/run/php/php7.3-fpm.sock;
		fastcgi_read_timeout 3600;
	}

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

The config for my nginx proxy is

server {
    server_name piwigo.duckdns.org www.piwigo.duckdns.org;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://192.168.122.5:20000;
        proxy_read_timeout 3600;
    }

    listen 127.0.0.1:443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/piwigo.duckdns.org/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/piwigo.duckdns.org/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = www.piwigo.duckdns.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    if ($host = piwigo.duckdns.org) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name piwigo.duckdns.org www.piwigo.duckdns.org;
    listen 80;
    return 404; # managed by Certbot
}

Accessing the instance through the browser works fine. Photos also show up fine.

Are there any obvious issues with my above configuration?

I'm having some **issues with getting photos to show on the android app and uploading images from shotwell**. This is all with my own instance of piwigo. I think my reverse proxy configuration may the source of my problems. Both the VM and reverse proxy are on debian 10 and piwigo is 2.10.1. I have piwigo on a VM with the following nginx server configuration ``` server { listen 20000 default_server; listen [::]:20000 default_server; root /var/www/piwigo; index index.html index.htm index.nginx-debian.html index.php; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.3-fpm.sock; fastcgi_read_timeout 3600; } location ~ /\.ht { deny all; } } ``` The config for my nginx proxy is ``` server { server_name piwigo.duckdns.org www.piwigo.duckdns.org; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://192.168.122.5:20000; proxy_read_timeout 3600; } listen 127.0.0.1:443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/piwigo.duckdns.org/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/piwigo.duckdns.org/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { if ($host = www.piwigo.duckdns.org) { return 301 https://$host$request_uri; } # managed by Certbot if ($host = piwigo.duckdns.org) { return 301 https://$host$request_uri; } # managed by Certbot server_name piwigo.duckdns.org www.piwigo.duckdns.org; listen 80; return 404; # managed by Certbot } ``` Accessing the instance through the browser works fine. Photos also show up fine. Are there any obvious issues with my above configuration? <!-- github-sync-id:599948082 -->
Author
Owner

I'm also happy to use apache2 for piwigo but the reverse proxy needs to be nginx since nginx is serving other services too. I just can't seem to find any recommended web server configurations for piwigo.

I'm also happy to use apache2 for piwigo but the reverse proxy needs to be nginx since nginx is serving other services too. I just can't seem to find any recommended web server configurations for piwigo. <!-- github-comment-id:613760466 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/Piwigo#1018