连接到应用程序时使用带有另一个 SSL 证书的代理

连接到应用程序时使用带有另一个 SSL 证书的代理

有一个应用程序已在整个 Keycloack 服务器中配置了 SSO(Keycloack 是我的)。假设您可以通过以下方式访问该应用程序https://www.example.domain.com。现在,我无法直接访问该应用程序,但我想在我自己的域中提供它,即https://www.domain.another.com(这已与应用程序所有者达成一致)。为此,我尝试建立一个代理服务器,它将为我的 SSL 提供服务并将请求转发到www.example.domain.com。但有问题的部分是 SSO,因为成功登录后,它会重定向到https://www.example.domain.com代替https://www.domain.another.com。我不是这方面的专家,但应该如何配置,以便当请求来自代理时,它应该重定向到代理基本 URL?有一件事:我不想与应用程序所有者共享我的域的私钥。

对于代理,我使用具有以下配置的 Nginx:

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    server {
        listen 443 ssl;
        server_name http://www.domain.another.com;

        ssl_password_file /home/keys/file.pass;
        ssl_certificate /home/keys/tls.crt;
        ssl_certificate_key /home/keys/tls.key;

        location / {
            proxy_pass https://www.example.domain.com;          
            proxy_http_version 1.1;
        }

   
    }
  }

相关内容