您好,nginx的非凡之作
我正在使用nginx作为负载平衡器和反向代理,以充当面向外部的API网关的角色,以连接Kubernetes中托管的应用程序和api。这些都是通过入口暴露的
我面临的问题是,当我尝试通过 / test URL
访问标准的角度网络应用程序时,nginx给了我404错误看到错误:
Nginx使用以下配置进行设置- nginx.conf
events {
worker_connections 1024;
}
http {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
ssl on;
ssl_certificate /etc/letsencrypt/live/myhostname/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myhostname/privkey.pem;
client_max_body_size 1G;
upstream k8snodes {
server 192.168.2.10;
server 192.168.2.11;
}
server {
listen 443 ssl;
location / {
proxy_pass http://k8snodes/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
}
include /etc/nginx/conf.d/*.conf;
}
}
位于 / test 后面的是Kubernetes入口控制器,该控制器为角度应用提供服务。我可以确认直接通过Ingress可以很好地访问应用程序,因此nginx对此感到不满意。
入口配置
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
creationTimestamp: "2019-09-14T07:43:49Z"
generation: 2
name: test-ingress
namespace: default
resourceVersion: "12193067"
selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/test-
ingress
uid: f8c5ea11-9caf-431e-9a18-19bd3981eece
spec:
rules:
- host: myhostname
http:
paths:
- backend:
serviceName: test-svc
servicePort: 80
path: /test
status:
loadBalancer:
ingress:
- {}
在Nginx配置上我做错了什么吗?我还有其他可以反向代理的API,似乎是Web应用程序试图提供问题的静态文件。