Millwright attempting Caddy remote and LAN access

Caddy v1.04
Ubuntu 18.04 - systemd

My complete Caddyfile or JSON config where “mydomain” is replaced with actual domain name and “my email” replaced with actual email address.

mydomain {

    tls my email
    timeouts none

proxy / 192.168.1.97:8096 {
    websocket
    transparent
}

# Optional security headers
header / {
    -Server
    Strict-Transport-Security "max-age=31536000;"
    Referrer-Policy "strict-origin"
    X-XSS-Protection "1; mode=block"
    X-Content-Type-Options "nosniff"
    X-Frame-Options "DENY"
}

# Optional logging
#log JellyfinProxy.log

}

3. The problem I’m having:

For a little context, I am not in any way involved with networking, proxies, tls and so on. These terms are familiar but I am not sure my understanding is up to snuff. Likewise, if I brought a web designer, network admin or whatever to a turbine rebuild, you too would have difficulty with the terms we use daily in our trade, and your understanding may be not up to snuff. So please be patient :slight_smile:

The caddyfile as posted has worked perfectly with no errors and I can reach my jellyfin server remotely. as I had intended. There is a permission issue with “log”, which is why it is commented out.

That said, I cannot figure out how to access my lan sites. My intention was for remote access to Jellyfin, which I was successful at achieving through web searches and trial and error. However, when I attempt to access site on my local lan, stored at /var/www/html/organizer, from another computer on the samelan I get the error “404 Site 192.168.1.97 is not served on this interface”

5. What I already tried:

Numerous examples on numerous forums. Which probably work if I could see the full caddyfile, but generally they are snippets and I have no idea where to place these in my existing caddyfile, or if a separate caddyfile is required to be at /var/www/htm/.

For example;
If I place this snippet in my existing caddyfile

proxy / 192.168.1.97/ {
websocket
transparent
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Proto {scheme}
}
Will this do what I want, grant me access over lan to 192.168.1.97/Organizr?
If so, where exactly would I place this in my caddyfile?

I am putting together a new Caddyfile with the hope of acesss my lan, as well as remotely accessing stuff like nzbget using a snippet such as …

proxy /nzbget 127.0.0.1:6789 {
transparent
}

to access nzbget at https://mydomain/nzbget/

Assuming new Caddyfile will look like the following;

mydomain {

	tls my@email.com
timeouts none

# Remote access to Jellyfin. ie mydomain
proxy / 192.168.1.97:8096 {
websocket
transparent
}

# Remote access to nzbget. ie mydomain/nzbget/
proxy /nzbget 127.0.0.1:6789 {
transparent
}

# Remote access to sonarr. ie mydomain/sonarr/
proxy /sonarr 127.0.0.1:8082 {
transparent
}

proxy / 192.168.1.97/ {
    root /var/www/html/
websocket
transparent
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-For {remote}
header_upstream X-Forwarded-Proto {scheme}
}

# Optional security headers
header / {
-Server
Strict-Transport-Security "max-age=31536000;"
Referrer-Policy "strict-origin"
X-XSS-Protection "1; mode=block"
X-Content-Type-Options "nosniff"
X-Frame-Options "DENY"
}

# Optional logging
# log JellyfinProxy.log

}

This maybe so simple that I am missing it, or not, which is why I am here and asking for patience.
Thanks very much in advance for any help!"

Welcome to our forums!

First, I would recommend using Caddy 2 which is being released today.

Next, make sure the site address at the top of your Caddyfile is the same one that you load in your web browser.

Unfortunately I can’t do a whole lot more to help since you’ve changed/withheld your config from what you’re actually using :slightly_frowning_face:

But see if that helps, and let us know!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.