🐶
Pupcloud
Pupcloud v0.8
Pupcloud v0.8
  • 🐶Pupcloud
    • 🥇Features
    • 🎬Credits
    • 🐛Known Issues
  • 🦮Guides
    • 🏗️Installation & Building
    • 🏃Running Pupcloud
      • 🐳Docker
      • 💻Systemd Service
      • 💿Synology NAS
    • 🎒Basic Usage
    • 🗝️Authentication
    • 🤝Sharing a Folder
    • 🔙Reverse Proxy
  • 🛡️Security
  • 🍟Demo App
  • 👷GitHub Repository
Powered by GitBook
On this page
  1. Guides

Reverse Proxy

PreviousSharing a FolderNextSecurity

Last updated 3 years ago

Running a reverse proxy in front of pupcloud is almost mandatory if you want to expose it on the internet. More than that, there are a number of reverse proxies that allow you to protect a http connection with https, using a free certificate provided for example by or similar.

For authentication, a custom HTTP header is used, x-pupcloud-pwd. Be sure that the reverse proxy passes it untouched.

We'll show here how to integrate with two popular solutions, and .

Caddy

To access pupcloud from (e.g.) https://pupcloud.test.com:

  1. Expose ports 80 and 443 of the server to which the DNS points;

  2. Run pupcloud. Leave the port as 17178;

  3. Launch caddy: sudo caddy reverse-proxy --from pupcloud.test.com --to localhost:17178

You'll need to launch caddy with root/admin privileges, as it must access privileged ports.

NGINX

NGINX is quite complex to configure, and it's beyond the scope of this document. Usually, we make use of Docker image, paired with pupcloud's own docker image. The relevant config is in nginx/site-confs/default:

server {
        listen 443 ssl http2;
        server_name pupcloud.test.com;
        include /config/nginx/proxy-confs/*.subfolder.conf;
        include /config/nginx/ssl.conf;
        location / {
                proxy_pass http://localhost:17178/;
        }
}
🦮
🔙
Let's Encrypt
Caddy
NGINX
LinuxServer's Swag