如何解决HTTPS 到 HTTPS Nginx 反向代理不起作用
使用 NGINX 作为反向代理。所有到 NGINX 的传入连接都被转发到 Kubernetes 集群。 HTTP 到 HTTP 通信工作正常。 HTTPS 到 HTTPS 不起作用。
当我使用 HTTPS 直接访问 Kubernetes 集群的 NodePort 时,它可以工作(即 https::31313/endpoint)。
环境:
- 我们有一个 Kubernetes 集群,它安装了 istio 入口,可以使用端口 31313 进行访问,端口 31313 是一个安全端口,即使用 HTTPS。
- NGINX 和 Istio Ingress 均使用使用 openssl 生成的相同证书进行配置。
- 生成的证书挂载到 Docker 容器。
- 使用下面提到的 nginx.conf 将 NGINX 作为 Docker 运行。
user nginx;
worker_processes auto;
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 10000;
}
http {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
server {
listen 6633;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
}
stream {
upstream stream_80_backend {
server <IP>:31312;
}
upstream stream_443_backend {
server <IP>:31313;
}
server {
listen 80;
proxy_pass stream_80_backend;
}
server {
listen 443 ssl;
proxy_pass stream_443_backend;
proxy_ssl_certificate /etc/nginx/example.com.crt;
proxy_ssl_certificate_key /etc/nginx/example.com.key;
ssl_certificate /etc/nginx/example.com.crt;
ssl_certificate_key /etc/nginx/example.com.key;
}
}
尝试了所有可能的在线解决方案,但没有奏效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。