
Kubernetes クラスターと非常に基本的なコンテナーがあります。インターネット経由でアクセスしようとしていますが、タスクは非常に簡単で、ディレクトリのインデックスをリストするだけです。これが私の基本的な仮想ホスト構成です。
<VirtualHost *:80>
Alias /docs /mnt/nfs
<Directory /mnt/nfs>
DAV Off
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
kubectl port-forward オプションを使用してサービスまたはポッドを使用すると、期待どおりに動作し、ファイルが xyz.com/docs にリストされます。ただし、FQDN を介してイングレス経由でポッドにアクセスしようとすると、404 エラーが発生します。フォルダー内にある test.txt ファイルにアクセスすると、ファイルの内容は表示されますが、ポート転送オプションで動作しているようにインデックスがリストされません。つまり、ポッドにアクセスしてファイルにアクセスすることはできますが、自動インデックス モジュールを使用してリストすることはできません。同じポッドで、kubectl port-forwarding オプションを使用してインデックスをリストできます。
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
どのような助けでも大歓迎です。
ありがとう、
答え1
わかりました。私の場合の解決策は回避策でした。WebDAV フォルダ (例: xyz.com/doc) にアクセスするのと同じ方法で、「webroot」フォルダ (/var/www/html) にアクセスできることに気付きました。そこで、ルート フォルダに /var/www/html/doc というシンボリック リンクを作成し、その doc シンボリック リンクが必要な doc フォルダを指すようにしました。オプション FollowSymLinks も構成で有効にされているため、私の場合はうまくいきました。
ただし、なぜ FQDN でこのように動作するのかはまだわかりません。