Percebo que seus arquivos web.config não contêm nenhuma configuração shibboleth, por exemplo, a parte do manipulador:
<add name="ShibbolethEndPoints" path="*.sso" verb="*" modules="IsapiModule" scriptProcessor="C:\opt\shibboleth-sp\lib64\shibboleth\isapi_shib.dll" resourceType="Unspecified" preCondition="bitness64" />
Quando fiz minha configuração inicial (usando a interface do usuário do IIS) para adicionar o manipulador, esta linha foi adicionada ao meu arquivo web.config.
Se mais tarde eu implantasse uma nova versão do meu aplicativo, o web.config seria substituído e eu terminaria com um erro 404 (porque de fato não há nada para entender a URL do Assertion Consumer Service
Então, no seu caso, tudo que você fez foi
- implantou o novo aplicativo na nova pasta (com o 'novo' web.config vinculado à pergunta)
- e apontou seu site existente para a nova pasta
Então, muito provavelmente, a configuração do manipulador estará ausente em seu site implantado.
Sugiro adicionar o filtro novamente (usando a interface do usuário do ISS) e copiar a configuração do manipulador gerado para o web.config do projeto (para que você não o perca novamente)
IIS, shibboleth e Kestrel
Isso não está na resposta direta à sua pergunta, mas um rápido resumo sobre como eles estão interagindo (a foto maior - pode ajudar a solucionar mais)
A principal diferença para o aplicativo ASP.NET 'regular' é que o IIS é principalmente um proxy reverso na frente do Kestrel.
Isso não afeta realmente o fluxo do Shibboleth. Vamos supor que você tenha configurado o shibboleth para proteger www.example.com/ressources como de costume (nada específico para o núcleo do asp.net)
Se você solicitar www.example.com/ressources/index.html: o shibboleth intercepta a solicitação e aciona o fluxo de autenticação com o IDP
Mais tarde, quando você for redirecionado para www.example.com/ressources/index.html (depois de ser identificado pelo IdP e autenticado pelo seu ACS shibboleth - em outras palavras: desta vez, a solicitação voltará com um shibboleth válido cookie de sessão)
- O shibboleth ainda intercepta a solicitação, verifica se a sessão é válida e encaminha para o IIS
- Por sua vez, os 'proxies reversos' do IIS para o Kestrel
- O Kestrel atende ao recurso solicitado (supondo que seu aplicativo aceite a identidade que o Shibboleth transmite nos cabeçalhos HTTP).