Am o instalație de Shiboleth care rulează pe Jetty 9. Prin Apache am un proxy invers la portul 8080 al Jetty care servește instanța Shiboleth.
Când curl http://localhost:8080/idp/shibboleth în consolă, răspunsul instanței este generat corect.
Totuși, când fac același lucru pe browserul meu https://idp.example.com/idp/shibboleth Primesc o eroare 404.
Acesta este un indiciu că proxy-ul invers nu funcționează corect?
Aceasta este apache conf
SSLUseCapsare activată
SSLSstaplingResponderTimeout 5
SSLStaplingReturnResponderErrors dezactivat
SSLStaplingCache shmcb:/var/run/ocsp(128000)
<VirtualHost *:80>
ServerName „idp.spectrum.com.cy”
Redirecționează permanent „/” „https://idp.spectrum.com.cy/”
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName idp.spectrum.com.cy:443
ServerAdmin [email protected]
# Debian
CustomLog /var/log/apache2/idp.spectrum.com.cy.log combinat
ErrorLog /var/log/apache2/idp.spectrum.com.cy.org-error.log
# Centos
#CustomLog /var/log/httpd/idp.example.org.log combinat
#ErrorLog /var/log/httpd/idp.example.org-error.log
DocumentRoot /var/www/html/idp.spectrum.com.cy
SSLEngine activat
SSLProtocol Toate -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite „EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EDHWLO+RC4ARSNADH ! !MD5 !EXP !PSK !SRP !DSS !RC4"
SSLHonorCipherComanda activat
# Nu permiteți încorporarea paginii de conectare a IdP-ului dvs. într-un iframe și
# Activați HTTP Strict Transport Security cu o durată de 2 ani
<IfModule headers_module>
Set antet X-Frame-Opțiuni DENY
Set antet Strict-Transport-Security "max-age=63072000 ; includeSubDomains ; preload"
</IfModule>
# Debian
SSLCertificateFile /etc/ssl/certs/idp.spectrum.com.cy.crt
SSLCertificateKeyFile /etc/ssl/private/idp.spectrum.com.cy.key
# ACME-CA sau GEANT_OV_RSA_CA_4 (Pentru utilizatorii care folosesc GARR TCS/Sectigo RSA Organization Validation Secure Server CA)
#SSLCACertificateFile /etc/ssl/certs/ACME-CA.pem
#SSLCACertificateFile /etc/ssl/certs/GEANT_OV_RSA_CA_4.pem
# Centos
#SSLCertificateFile /etc/pki/tls/certs/idp.example.org.crt
#SSLCertificateKeyFile /etc/pki/tls/private/idp.example.org.key
# ACME-CA sau GEANT_OV_RSA_CA_4 (Pentru utilizatorii care folosesc GARR TCS/Sectigo RSA Organization Validation Secure Server CA)
#SSLCACertificateFile /etc/pki/tls/certs/ACME-CA.pem
#SSLCACertificateFile /etc/pki/tls/certs/GEANT_OV_RSA_CA_4.pem
<IfModule mod_proxy.c>
ProxyPreserveHost activat
RequestHeader set X-Forwarded-Proto „https”
ProxyPass /idp http://localhost:8080/idp/ retry=5
ProxyPassReverse /idp http://localhost:8080/idp/ retry=5
<Locație /idp>
Solicitați toate acordate
</Locație>
</IfModule>
</VirtualHost>
</IfModule>
<VirtualHost 127.0.0.1:80>
ProxyPass /idp http://localhost:8080/idp/ retry=5
ProxyPassReverse /idp http://localhost:8080/idp/ retry=5
<Locație /idp>
Solicitați toate acordate
</Locație>
</VirtualHost>
Mi-am simplificat fișierul conf pentru a elimina https. Configurația de mai jos funcționează bine, dar numai cu http. Voi investiga de ce configurația https generează eroarea 404.
<VirtualHost *:80>
ServerName idp.spectrum.com.cy
<IfModule mod_proxy.c>
ProxyPreserveHost On
ProxyPass /idp/ http://localhost:8080/idp/ retry=5
ProxyPassReverse /idp/ http://localhost:8080/idp/ retry=5
<Location /idp>
Require all granted
</Location>
</IfModule>
# Această gazdă virtuală este aici doar pentru a gestiona comenzile administrative
pentru Shibboleth, executat de localhost
<VirtualHost 127.0.0.1:80>
ProxyPass /idp http://localhost:8080/idp/ retry=5
ProxyPassReverse /idp http://localhost:8080/idp/ retry=5
<Locație /idp>
Solicitați toate acordate
</Locație>
</VirtualHost>