Welcome! Log In Create A New Profile

Advanced

Requests Using Internet URL fail on LAN Access

January 01, 2017 11:36AM
Greetings everyone! Happy New Year. I am a new Nginx user with a curious problem that I can not seem to fix. Here is my environment.

(URLs and IPs have been changed to protect the innocent) ;-)

I have a Debian/Nginx/MariaDB/PHP7/Nextcloud server running on my LAN on IP 192.168.1.20. I'm running https and the server is up and running properly. I can connect my secure Nextcloud website without a problem from my LAN. From the Internet, I have a registered URL that points at the WAN port of my router: server.blah.com.

On the router, I have forwarded port 6767 to port 443 on my server. I can connect to the Nextcloud website on the server from both the LAN and Internet using the URL https://server.blah.com:6767. So far so good, right?

Here is the problem. I use the caldav features of the Nextcloud server to sync calendar and contact data to my phone. I use the Davdroid client to connect to the caldav features of the server. The URL that is used to connect to the server for caldav discovery is:

https://server.blah.com:6767/remote.php/dav/.

Following the instructions from Nextcloud, I have two entries in my Nginx config file addressing caldav:

location = /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/reemote.php/dav;mote.php/dav;
}

When I try to connect Davdroid to the Nextcloud website from my LAN using the URL ( https://server.blah.com:6767/remote.php/dav/), it fails. Here is the access log entries when I try to connect: (There are no entries in the error log.)

192.168.1.1 - bongo [01/Jan/2017:09:55:27 -0500] "PROPFIND /remote.php/dav/ HTTP/1.1" 207 854 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
192.168.1.1 - bongo [01/Jan/2017:09:55:58 -0500] "OPTIONS /remote.php/dav/principals/users/bongo/ HTTP/1.1" 200 0 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"

BUT when I connect Davdroid to the Nextcloud website from the Internet, it works properly. Here are the access logs from when it works properly:

172.58.84.223 - bongo [01/Jan/2017:10:13:18 -0500] "PROPFIND /remote.php/dav/ HTTP/1.1" 207 854 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:18 -0500] "OPTIONS /remote.php/dav/principals/users/bongo/ HTTP/1.1" 200 0 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:19 -0500] "PROPFIND /remote.php/dav/ HTTP/1.1" 207 1658 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:20 -0500] "OPTIONS /remote.php/dav/principals/users/bongo/ HTTP/1.1" 200 0 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:20 -0500] "PROPFIND /remote.php/dav/principals/users/bongo/ HTTP/1.1" 207 630 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:27 -0500] "PROPFIND /remote.php/dav/principals/users/bongo/ HTTP/1.1" 207 738 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:27 -0500] "PROPFIND /remote.php/dav/principals/users/bongo/ HTTP/1.1" 207 790 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:27 -0500] "PROPFIND /remote.php/dav/principals/groups/admin/ HTTP/1.1" 207 652 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:27 -0500] "PROPFIND /remote.php/dav/principals/groups/admin/ HTTP/1.1" 207 723 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:28 -0500] "PROPFIND /remote.php/dav/addressbooks/users/bongo/ HTTP/1.1" 207 3220 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:28 -0500] "PROPFIND /remote.php/dav/calendars/bongo/ HTTP/1.1" 207 14245 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"
172.58.84.223 - bongo [01/Jan/2017:10:13:28 -0500] "PROPFIND /remote.php/dav/addressbooks/groups/admin/ HTTP/1.1" 404 11837 "-" "DAVdroid/1.3.5-gplay (2016/12/23; dav4android; okhttp3) Android/7.0"

So I'm sure you are asking "Are caldav services working at all?" I can answer with a resounding "Yes!" How do I know? Well, I am using the Thunderbird email client on my LAN and connect to the caldav services for calendar sync and caldav is working fine. But here is another clue that might help. While Davdroid uses this URL to connect:

https://server.blah.com:6767/remote.php/dav/

and then uses propfind to see available services, Thunderbird uses this URL to get to directly to specific calendars:

https://server.blah.com:6767/remote.php/dav/calendars/bongo/recurring/

where "recurring" is the calendar name. Here is an example access log entry where Thunderbird connects successfully to sync via caldav:

192.168.1.1 - - [01/Jan/2017:10:31:30 -0500] "PROPFIND /remote.php/dav/calendars/bongo/main/ HTTP/1.1" 401 567 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Lightning/4.7.4"
192.168.1.1 - - [01/Jan/2017:10:31:30 -0500] "PROPFIND /remote.php/dav/calendars/bongo/birthdays/ HTTP/1.1" 401 567 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Lightning/4.7.4
192.168.1.1 - bongo [01/Jan/2017:10:31:59 -0500] "PROPFIND /remote.php/dav/calendars/bongo/main/ HTTP/1.1" 499 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Lightning/4.7.4"
192.168.1.1 - bongo [01/Jan/2017:10:31:59 -0500] "PROPFIND /remote.phate to say it, but when I ran the same exact setup but with Apachep/dav/calendars/bongo/birthdays/ HTTP/1.1" 499 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 Lightning/4.7.4"

I really think that this has something to do with the caldav directives in the Nginx config file since using

https://server.blah.com:6767/remote.php/dav/calendars/bongo/recurring/

works on my LAN but

https://server.blah.com:6767/remote.php/dav/

does not. I tried removing the caldav directives and restarting Nginx, but it did not fix the problem. I hate to say it, but when I ran the same exact setup but with Apache, caldav worked fine regardless of LAN, WAN, or client. I just rebuilt the server this week and decided to use Nginex this time since it is faster. It is indeed faster than Apache but if I can not get this problem fixed, I will have to go back to Apache. Please help me avoid that! ;-)

Brian
Subject Author Posted

Requests Using Internet URL fail on LAN Access

scoobybri January 01, 2017 11:36AM

Re: Requests Using Internet URL fail on LAN Access

scoobybri January 01, 2017 11:40AM

Re: Requests Using Internet URL fail on LAN Access

scoobybri January 09, 2017 08:04AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 327
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready