У меня есть установка Shiboleth, которая работает на Jetty 9. Через Apache у меня есть обратный прокси-сервер для порта 8080 Jetty, который обслуживает экземпляр Shiboleth.
Когда я скручиваю http://localhost:8080/idp/shibboleth в консоли, ответ экземпляра генерируется правильно.
Однако, когда я делаю то же самое в своем браузере https://idp.example.com/idp/shibboleth Я получаю ошибку 404.
Это какой-то признак того, что обратный прокси работает неправильно?
Это моя конфа апача
SSLUseStapling включен
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors выключен
SSLStaplingCache shmcb:/var/run/ocsp(128000)
<Виртуальный хост *:80>
Имя сервера "idp.spectrum.com.cy"
Редирект постоянный "/" "https://idp.spectrum.com.cy/"
</ виртуальный хост>
<IfModule mod_ssl.c>
<Виртуальный хост _default_:443>
 Имя сервера idp.spectrum.com.cy:443
 Администратор сервера pieros.tzamas@spectrum.com.cy
 # Дебиан
 CustomLog /var/log/apache2/idp.spectrum.com.cy.log вместе
 Журнал ошибок /var/log/apache2/idp.spectrum.com.cy.org-error.log
 # Центос
 #CustomLog /var/log/httpd/idp.example.org.log вместе
 #ErrorLog /var/log/httpd/idp.example.org-error.log
 
 DocumentRoot /var/www/html/idp.spectrum.com.cy
 
 SSLEngine включен
 Протокол SSL Все -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 EECDH EDH+aRSA RC4 !aNULL !eNULL ES !LOW ! !MD5 !EXP !PSK !SRP !DSS !RC4"
 SSLHonorCipherOrder on
 
 # Запретить встраивание страницы входа вашего IdP в iframe и
 # Включить HTTP Strict Transport Security на 2 года.
 <IfModule headers_module>
    Заголовок устанавливает X-Frame-Options DENY
    Набор заголовков Strict-Transport-Security "max-age=63072000 ; includeSubDomains ; preload"
 </ЕслиМодуль>
 
 # Дебиан
 SSLCertificateFile /etc/ssl/certs/idp.spectrum.com.cy.crt
 SSLCertificateKeyFile /etc/ssl/private/idp.spectrum.com.cy.key
 # ACME-CA или GEANT_OV_RSA_CA_4 (для пользователей, использующих 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
 # Центос
 #SSLCertificateFile /etc/pki/tls/certs/idp.example.org.crt
 #SSLCertificateKeyFile /etc/pki/tls/private/idp.example.org.key
 # ACME-CA или GEANT_OV_RSA_CA_4 (для пользователей, использующих 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 включен
    RequestHeader устанавливает X-Forwarded-Proto "https"
    ProxyPass /idp http://localhost:8080/idp/retry=5
    ProxyPassReverse /idp http://localhost:8080/idp/retry=5
    <Местоположение /идентификатор>
       Требовать все предоставленные
    </местоположение>
 </ЕслиМодуль>
</ виртуальный хост>
</ЕслиМодуль>
<Виртуальный хост 127.0.0.1:80>
  ProxyPass /idp http://localhost:8080/idp/retry=5
  ProxyPassReverse /idp http://localhost:8080/idp/retry=5
  <Местоположение /идентификатор>
   Требовать все предоставленные
  </местоположение>
</ виртуальный хост>
Я упростил свой файл conf, чтобы удалить https. Приведенная ниже конфигурация работает нормально, но только с http. Я выясню, почему конфигурация https генерирует ошибку 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>
# Этот виртуальный хост предназначен только для обработки административных команд 
для Shibboleth, выполняется с локального хоста
<Виртуальный хост 127.0.0.1:80>
  ProxyPass /idp http://localhost:8080/idp/retry=5
  ProxyPassReverse /idp http://localhost:8080/idp/retry=5
  <Местоположение /идентификатор>
    Требовать все предоставленные
  </местоположение>
</ виртуальный хост>