ฉันต้องจัดการและสร้างตำแหน่ง nginx สองตำแหน่งที่ชี้ไปยังแอปพลิเคชัน Kibana ต้นน้ำเดียวกัน หนึ่งตัวมีการตรวจสอบสิทธิ์และอีกตำแหน่งหนึ่งไม่มีการตรวจสอบสิทธิ์ แต่ฉันติดอยู่ที่จุดนี้ การกำหนดค่าของฉันด้านล่าง:
nginx.conf
ต้นน้ำ kibana_backend {
เซิร์ฟเวอร์ 192.168.1.20:5601;
}
เซิร์ฟเวอร์ {
ฟัง 80 default_server;
ที่ตั้ง / {
ถ้า ($scheme = 'http') {
เขียนใหม่ ^ https://$http_host$request_uri? ถาวร;
}
}
ฟัง 443 ssl;
server_name tool.example.com;
ตำแหน่ง ^~/without_authentication/app/kibana/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $remote_addr;
proxy_set_header โฮสต์ $host;
proxy_set_header โฮสต์ $host;
เขียนใหม่ ^/without_authentication(.*) /$1 ตัวแบ่ง;
proxy_pass http://kibana_backend;
}
ตำแหน่ง ^~/with_authentication/app/kibana/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $remote_addr;
proxy_set_header โฮสต์ $host;
auth_basic
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_set_header โฮสต์ $host;
เขียนใหม่ ^/กับ(.*) /$1 ตัวแบ่ง;
proxy_pass http://kibana_backend;
}
kibana.yaml
server.publicBaseUrl: "https://tool.example.com/app/kibana"
server.basePath: "/app/kibana"
หากฉันต้องการเข้าถึง https://tool.example.com/with_authentication/app/kibana ไม่ทำอะไรเลย