由于忽略了URL命名约定,AKS URL重写会产生404
当我访问Angular应用程序dev.dev.com/merchant时,它将显示空白页面。检查控制台,它显示
获取https://dev.dev.com/runtime.js净值:: ERR_ABORTED 404
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: dev-ingress
namespace: dev
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
tls:
- hosts:
- dev.dev.com
secretName: ssl
rules:
- host: dev.dev.com
http:
paths:
- backend:
serviceName: dashboard
servicePort: 80
path: /merchant(/|$)(.*)
我期望:
dev.dev.com/merchant/runtime.js,整个应用程序运行良好,URL中带有/ merchant。
直接通过IP地址访问服务是可以的。现在确定我所缺少的。
答案 0 :(得分:0)
对于您的问题,当您使用自定义域时,不仅需要使用nginx入口控制器,还需要HTTP路由。如果不是,则显示错误404。
如果仅测试域名,则可以使用Azure提供的HTTP应用程序路由,即HTTP application routing中的步骤。您还可以使用公共IP为Azure DNS创建子域,并可以按照Create an HTTPS ingress controller on Azure Kubernetes Service (AKS)中的步骤进行操作。