AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1167296
Accepted
Fearkin
Fearkin
Asked: 2024-11-01 17:51:58 +0800 CST2024-11-01 17:51:58 +0800 CST 2024-11-01 17:51:58 +0800 CST

Como configurar o Nginx de código aberto como proxy para o Exchange Server 2019?

  • 772

Tenho um servidor proxy Nginx com módulo headers-more-nginx que passa solicitações para o Exchange Server 2019. Atualmente, o Outlook 2019 fica preso em um loop solicitando credenciais toda vez que tento conectar ao meu servidor - ele solicita uma senha, aceita e pergunta novamente. Esse problema se repete em outros dispositivos.

O Outlook mais recente da Microsoft Store funciona bem.

Além disso, se for Netscaler em vez de Nginx, tudo funcionará normalmente, então presumo que o Nginx esteja configurado incorretamente, mas não consigo acessar a configuração do Netscaler agora.

Como devo alterar a configuração do Nginx para que ele funcione corretamente?

Configuração atual do nginx:

http {
    server {
            listen 80;
            listen 443 ssl;
            server_name mail.mydomain.com;

            ssl_certificate /etc/ssl/certs/mydomain.crt;
            ssl_certificate_key /etc/ssl/certs/mydomain.key;
            ssl_trusted_certificate /etc/ssl/certs/mydomain.crt;
            ssl_session_timeout 5m;

            add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload;" always;

            location / {
                    proxy_pass_request_headers on;
                    keepalive_timeout 3h;
                    tcp_nodelay on;
                    client_max_body_size 3G;
                    #proxy_buffering off; # tried both on and off
                    #proxy_request_buffering off;
                    proxy_read_timeout 3600;

                    proxy_pass_header Date;
                    proxy_pass_header Server;
                    proxy_set_header Authorization $http_authorization;
                    proxy_pass_header Authorization;
                    proxy_set_header Connection "Keep-Alive";
                    proxy_http_version 1.1;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header X-Forwarded-Proto $scheme;
                    proxy_set_header X-Forwarded-Server $host;
                    proxy_set_header X-Forwarded-Host $host:$server_port;
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;

                    more_set_input_headers 'Authorization: $http_authorization';
                    # I tried to use Nginx's domain as well as domain of Exchange server, no luck
                    more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.mydomain.com"';

                    proxy_pass https://exchange$request_uri;
             }
     }
}
upstream exchange {
    ip_hash;
    server exchangeip1:443;
    server exchangeip2:443;
}
nginx
  • 1 1 respostas
  • 83 Views

1 respostas

  • Voted
  1. Best Answer
    Joan
    2024-11-04T10:39:47+08:002024-11-04T10:39:47+08:00

    Parece que o problema pode estar relacionado a como o Nginx está lidando com cabeçalhos de autenticação e configurações de proxy. Aqui estão alguns ajustes que você pode tentar para resolver o problema de loop de credenciais com o Outlook 2019:

    • Garantir suporte à autenticação NTLM :

    O Outlook frequentemente usa autenticação NTLM, que pode não ser manipulada corretamente pela sua configuração atual do Nginx. Você pode usar o nginx-ntlm-module para dar suporte à autenticação NTLM. Você pode encontrar mais informações e instruções de instalação aqui.

    • Ajustar as configurações de proxy :

    Certifique-se de que as diretivas proxy_set_header estejam corretamente definidas para manipular cabeçalhos de autenticação. Aqui está um exemplo de configuração que inclui suporte NTLM:

    http {
    server {
        listen 80;
        listen 443 ssl;
        server_name mail.mydomain.com;
    
        ssl_certificate /etc/ssl/certs/mydomain.crt;
        ssl_certificate_key /etc/ssl/certs/mydomain.key;
        ssl_trusted_certificate /etc/ssl/certs/mydomain.crt;
        ssl_session_timeout 5m;
    
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload;" always;
    
        location / {
            proxy_pass_request_headers on;
            keepalive_timeout 3h;
            tcp_nodelay on;
            client_max_body_size 3G;
            proxy_read_timeout 3600;
    
            proxy_pass_header Date;
            proxy_pass_header Server;
            proxy_set_header Authorization $http_authorization;
            proxy_pass_header Authorization;
            proxy_set_header Connection "Keep-Alive";
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-Host $host:$server_port;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
    
            more_set_input_headers 'Authorization: $http_authorization';
            more_set_headers -s 401 'WWW-Authenticate: Basic realm="mail.mydomain.com"';
    
            proxy_pass https://exchange$request_uri;
        }
    }
    }
    upstream exchange {
        ip_hash;
        server exchangeip1:443;
        server exchangeip2:443;
    }
    

    insira a descrição da imagem aqui

    • Verifique se há problemas de SSL/TLS:

    Certifique-se de que seus certificados SSL/TLS estejam corretamente configurados e válidos. Às vezes, problemas com SSL/TLS podem causar prompts de autenticação repetidos.

    • Revise a configuração do Exchange Server :

    Verifique se o seu Exchange Server está configurado para aceitar os métodos de autenticação que estão sendo passados ​​pelo Nginx. Talvez seja necessário ajustar as configurações no Exchange Management Shell para garantir a compatibilidade.

    • Depuração e Logs:

    Verifique os logs de erro do Nginx para obter pistas sobre o que pode estar causando o problema. Você pode aumentar o nível de log para debug para obter informações mais detalhadas.

    Se essas etapas não resolverem o problema, talvez seja necessário comparar a configuração de trabalho do Netscaler com sua configuração do Nginx para identificar quaisquer diferenças que possam estar causando o problema.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve