Как разрешить обход каталога в формате symlnked в веб-приложении WASCE
В настоящее время я использую WebSphere Application Server Community Edition v3.0.0.1 в RHEL 4, обновление 9.
У меня есть веб-приложение, ранее работавшее на WAS 6.1, но мы хотели перейти на WASCE. Реализация была такой, что у нас был каталог с символическими ссылками "symdir" внутри папки "Веб-контент", который указывал на другую папку в той же файловой системе, но за пределами веб-приложения и WASCE. Под обложками мы будем динамически создавать содержимое в каталоге с символическими ссылками, а затем создавать ссылки на него. Например, в symdir -> /tagHome мы создали бы /tagFile/some.tag, чтобы веб-приложение знало его как symdir / tagFile / some.tag, а f / s знали бы, что это /tagHome/tagFile/some.tag. Затем мы создадим ссылку на него по адресу http://hostname:port/context/symdir/tagFile/some.tag и отобразим файл - это был простой xml. Это все работало раньше на WAS 6.1.
Однако теперь, когда я перемещаю приложение в WASCE, этот тип конфигурации больше не работает. В частности, я не могу пройти через любые каталоги с символическими ссылками и получить какой-либо контент обратно. В связи с этим я даже попытался добавить каталоги в пакет веб-приложений и развернуть их, а затем попытался поразить их. Это как что-либо /context/* блокируется!
Последнее, что я попытался покопаться в Интернете, это org.apache.geronimo.tomcat.GeronimoStandardContext.allowLinking=true. Не похоже, чтобы изменить поведение.
Также нашел что-то похожее здесь JSP-файлы во внешнем каталоге, но добавление модуля контекста в web.xml вызывает ошибки компилятора.
Помимо написания сервлета, есть идеи? Спасибо за любую помощь!
1 ответ
Это решило проблему: в файле /etc/system.properties я добавил:
org.apache.geronimo.tomcat.GeronimoStandardContext.allowLinking=true
org.apache.geronimo.webapplication.stage=development
Перезапустил WASCE и это позволило мне обслуживать статический контент. Вероятно, не лучшее решение для каждого пользователя WASCE, но работает для нас.