
Ich habe einen Kubernetes-Cluster und einen sehr einfachen Container. Ich versuche, über das Internet darauf zuzugreifen, und die Aufgabe ist sehr einfach: Ich muss nur den Index des Verzeichnisses auflisten. Hier ist meine grundlegende virtuelle Hostkonfiguration:
<VirtualHost *:80>
Alias /docs /mnt/nfs
<Directory /mnt/nfs>
DAV Off
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Wenn ich den Dienst oder die Pods mit der Portweiterleitungsoption von Kubectl verwende, funktioniert es wie erwartet und meine Dateien werden unter xyz.com/docs aufgelistet. Wenn ich jedoch versuche, über meinen FQDN per Ingress auf den Pod zuzugreifen, erhalte ich einen 404-Fehler. Wenn ich auf eine Datei test.txt zugreife, die sich im Ordner befindet, kann ich den Inhalt der Datei sehen, aber die Indizes werden nicht aufgelistet, wie es mit der Portweiterleitungsoption funktioniert. Kurz gesagt, ich kann den Pod erreichen und auf die Dateien zugreifen, kann sie aber nicht mit dem Autoindex-Modul auflisten, und mit demselben Pod kann ich den Index mit der Portweiterleitungsoption von Kubectl auflisten
kind: Ingress
metadata:
name: webdav-app
namespace: testing1
annotations:
cert-manager.io/issuer: "letsencrypt-staging"
#cert-manager.io/cluster-issuer: "letsencrypt-prod"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls: "true"
spec:
tls:
- hosts:
- webdav.xyz.com
secretName: webdav-app-certificate
rules:
- host: webdav.xyz.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: webdav-app
port:
number: 80
Für jede Hilfe wäre ich sehr dankbar.
Danke,
Antwort1
Okay, die Lösung für mich war ein Workaround. Mir ist aufgefallen, dass auf den Ordner „webroot“ (/var/www/html) auf dieselbe Weise zugegriffen werden konnte, wie ich auf den Ordner WebDAV zugreifen wollte (z. B. xyz.com/doc). Also habe ich einen Symlink im Stammordner als /var/www/html/doc erstellt, und der Doc-Symlink zeigt auf den erforderlichen Doc-Ordner. Die Option FollowSymLinks ist in der Konfiguration auch aktiviert, sodass es für mich funktioniert hat.
Ich bin mir jedoch immer noch nicht sicher, warum es mit FQDN so funktioniert.