У меня следующая настройка: Apache, на котором запущен интерфейс (AngularJS)
Tomcat 7 Запуск серверной части (Spring MVC, Spring Security)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
ProxyRequests off
ProxyPreserveHost on
ProxyPass /api/ ajp://132.230.166.21:8009/OntoRais/api/
ProxyPassReverse /api/ ajp://132.230.166.21:8009/OntoRais/api/
Alias /rais "/home/bwright/Repositories/ontology-toolchain/WebClient"
<Directory "/home/bwright/Repositories/ontology-toolchain/WebClient">
Order allow,deny
Allow from all
Require all granted
</Directory
</VirtualHost>
Как видите, я передаю все вызовы api серверу tomcat по протоколу ajp.
Из чистой установки ничего не изменилось, кроме:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" enableLookups="false"/>
Теперь, когда я пытаюсь получить доступ к ресурсу tomcat через интерфейс, я получаю 403
HTTP Status 403 - Full authentication is required to access this resource accessing /OntoRais/api/user
В журнале сервера tomcat я получаю
13:25:10.034 [ajp-bio-8009-exec-7] DEBUG o.s.s.w.s.SessionManagementFilter - Requested session ID ED0779DC647DEE3C58DEA7059C260594 is invalid.
При доступе к тому же ресурсу через баузер напрямую к серверу tomcat http://localhost:8080/OntoRais/api/user
все работает нормально.
Чтобы уточнить, 132.230.166.21 - это тот же компьютер, что и localhost. Я изменил конфигурацию на localhost без каких-либо изменений.
Надеюсь, кто-то здесь может помочь мне с этим, спасибо Бенедикт
Проблема заключалась в установке SESSIONID после добавления
ProxyPassReverseCookiePath /OntoRais /
к настройкам apache все заработало.