Subdomain mit CNAME nicht erreichbar

Started by HC, April 17, 2021, 05:48:50 PM

Previous topic - Next topic
April 17, 2021, 05:48:50 PM Last Edit: April 17, 2021, 07:07:42 PM by HC
Hallo zusammen,

ich habe nun seit einiger Zeit eine OPNSense am laufen und bisher hat auch alles wunderbar funktioniert, auch wenn ich mich an manchen Stellen echt einfuchsen musste. Aber mit den Problemen wächst man bekanntlich ja auch :) Doch nun bin ich an einem Punkt, an dem ich partou nicht weiter komme und ich hoffe, ihr könnt mir helfen. Ich möchte eine subdomain nextcloud.xyz.de erreichbar machen. Das ganze soll mit NGINX und letsencrypt laufen. Die Domain habe ich bei INWX registriert, dyndns angelegt, ein A Record von dyndns.xyz.de auf die Domain gelegt und einen CNAME mit der Subdomain angelegt. Temporär habe ich ICMP ankommend an der OPNSense erlaubt und der ping klappt wunderbar. Die OPNSense ist übrigens dedizierte Hardware und wählt sich per pppoe mit einem Modem ein.

Bei Lets encrypt (acme-client plugin) habe ich per DNS-01 handshake auch Zertifikate erhalten. Joa und an der Stelle weiß ich nicht, ob ich das Problem im NGINX (plugin) habe, oder bei OPNSense itself. Gehe ich per Port 80 auf nextcloud.xyz.de, kommt folgende Meldung. Mittlerweile doch recht simpel gefunden, deaktiviere ich das NGINX plugin, erscheint keine Fehlermeldung. D.h. nach meiner Schlussfolgerung, irgendeinen Denkfehler habe ich wahrscheinlich im NGINX.

"Server Error Sorry, but something went wrong on our side. There is nothing you can do except waiting until we fix the issue."

Per 443 läuft er ins leere, auch per Smartphone und LTE um extern zu testen. Die Fehlermeldung auf 80 irritiert mich etwas ud sollte sie von der Sense kommen und nicht vom NGINX, würde ich dies natürlich ebenfalls gerne ändern. Geklärt, kommt offensichtlich vom NGINX Plugin.

Nun zu meiner Konfiguration. Der Nextcloudserver hat eine funktionierende IP und das GW ist die IP der Firewall. Rufe ich das Webinterface intern per IP auf, funktioniert alles einwandfrei.

Im Protokoll des NGINX Plugins steht folgendes, wenn ich mit dem Smartphone zugreife:

HTTP Access Log
17/Apr/2021:19:01:14 +0200   46.114.141.100   -   502   7701   -   Mozilla/5.0 (Linux; Android 10; Client) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.66 Mobile Safari/537.36   -   GET / HTTP/2.0

17/Apr/2021:19:01:15 +0200   46.114.141.100   -   502   7701   https://nextcloud.abc.de/   Mozilla/5.0 (Linux; Android 10; Client) AppleWebKit/537.36 (KHTML, like Gecko) Browser Mobile Safari/537.36   -   GET /favicon.ico HTTP/2.0


HTTP Error Log
2021/04/17   19:01:14   crit   28717#100178   *259 connect() to 192.168.next.cloud:443 failed (13: Permission denied) while connecting to upstream, client: 46.114.phone.mobil, server: nextcloud.abc.de, request: "GET / HTTP/2.0", upstream: "https://192.168.next.cloud:443/", host: "nextcloud.abc.de"

2021/04/17   19:01:15   crit   28717#100178   *259 connect() to 192.168.next.cloud:443 failed (13: Permission denied) while connecting to upstream, client: 46.114.phone.mobil, server: nextcloud.abc.de, request: "GET /favicon.ico HTTP/2.0", upstream: "https://192.168.next.cloud:443/favicon.ico", host: "nextcloud.abc.de", referrer: "https://nextcloud.abc.de/"


In den Allgemein Einstellungen der OPNSense habe ich das Webinterface auf 447 gelegt und die HTTP Weiterleitung deaktiviert. In den Firewallregeln habe ich WAN wie auf dem Screenshot konfiguriert und 80+443 frei gegeben.

NGINX Konfiguration:

Enabled :)

Upstream Server:

  • IP des Nextcloudservers
  • Port 443
  • Prio 1
  • max connections 1000, fehler 20, timeout 900

Upstream

  • Server Nextcloud
  • Round Robin
  • TLS?? Muss hier etwas rein? Beides geht aber nicht, ob mit oder ohne
  • Bei vertrauenswürdiges Zertifikat, habe ich das von lets encrypt ausgewählt

HTTP(S) Position

  • URL pattern /
  • Upstream Servers: Nextcloud
  • Ansonsten alles leer

HTTP(S) - HTTP Server

  • HTTP/HTTPS listen Ports: 80,443
  • Servername: nextcloud.xyz.de
  • Locations: Nextcloud
  • TLS Zertifikat: lets encrypt nextcloud
  • Client CA Zertifikat: R3 (lets encrypt)
  • Charset: utf-8

So dies sind alle Konfigurationen die ich vorgenommen habe... kann mir jemand bei meinem (aus meiner Sicht) nicht ganz trivialen Problem helfen? Das wäre Klasse :)

Viele Grüße und einen Schönen Abend
Daniel aka HC