Я нашел способ решить эту проблему с помощью Apache и mod_proxy. Это позволяет вашей установке Grails и проекту Grails оставаться нетронутыми. Не нужно взламывать внутренности Grails, не добавлять плагинов, которые вам могут не понадобиться в работе.
1. Установите Apache httpd 2.2
Делать это, однако, лучше всего подходит для вашей операционной системы. Важно, чтобы вы установили Apache 2.2. Я сделал это в системе Ubuntu, поэтому любые конкретные команды и расположение файлов будут для Ubuntu. Внесите необходимые изменения в вашу систему.
После установки Apache запустите httpd.
sudo /sbin/service httpd start
Проверьте, правильно ли он установлен с помощью веб-браузера.
2. Создать корневой каталог
Выберите место на вашем диске, где вы будете хранить ваши статические файлы. Это будет корень документа для httpd. Я буду использовать /var/grails_root.
mkdir /var/grails_root
touch /var/grails_root/crossdomain.xml
3. Создайте VirtualHost в httpd.conf
Откройте httpd.conf в вашем любимом текстовом редакторе.
vim /etc/httpd/conf/httpd.conf
Выберите ваш любимый порт и создайте виртуальный хост на этом порту. Я буду использовать 9090, но подойдет любой порт.
Добавьте эти строки в httpd.conf
Listen 9090
<VirtualHost *:9090>
DocumentRoot "/var/grails_root"
<Directory "/var/grails_root">
Allow from all
</Directory>
</VirtualHost>
Перезапустите httpd
sudo /sbin/service httpd restart
Проверьте, что вы теперь можете получить доступ к статическим файлам в корневом каталоге вашего документа. Если нет, вам нужно будет это исправить, прежде чем переходить к следующему шагу.
4. Включить mod_proxy и mod_proxy_http
Вам необходимо загрузить оба этих модуля. mod_proxy имеет базовую функциональность для прокси, а модули mod_proxy_xxx имеют информацию, специфичную для протокола. Они поставляются стандартно с httpd 2.2, поэтому вам не нужно устанавливать ничего лишнего.
Добавьте эти строки в httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Теперь измените виртуальный хост, который вы установили на предыдущем шаге. (Вы можете опустить комментарии)
<VirtualHost *:9090>
DocumentRoot "/var/grails_root"
<Directory "/var/grails_root">
Allow from all
</Directory>
# New lines start here
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /grailsApp http://your.grails.server:8080/grailsApp
# New lines end here
</VirtualHost>
Перезапустите httpd
sudo /sbin/service httpd restart
Теперь вы должны иметь доступ к статическим файлам и приложению Grails через порт 9090.
Все это основано на информации, найденной здесь: http://docs.codehaus.org/display/JETTY/Configuring+mod_proxy
Информация для этого с другими версиями Apache доступна на том же сайте.