Таблицы стилей JSF отсутствуют в nginx
Я разработал простое приложение JSF, используя Glassfish4 в качестве сервера приложений. На данный момент у него есть только одна страница с административными вещами. Когда я запускаю это на localhost, кажется, все на месте. Но я бы хотел разместить его на удаленном сервере. Я создал эту конфигурацию nginx:
server {
listen 80;
server_name my.domain.name;
location /jsf {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://0.0.0.0:8080/application;
proxy_redirect off;
}
}
И я могу открыть страницу, но на ней отсутствует таблица стилей. Он пытается открыть ссылку http://my.domain.name/application/javax.faces.resource/theme.css.xhtml?ln=primefaces-aristo но выдает ошибку 404.
На localhost ссылка следующая: http://localhost:8080/application/javax.faces.resource/theme.css.xhtml?ln=primefaces-aristo
РЕДАКТИРОВАТЬ: Журнал ошибок nginx содержит такие строки:
2015/07/06 12:58:47 [error] 19916#0: *45 open()
"/usr/share/nginx/html/application/javax.faces.resource/primefaces.js.xhtml;jsessionid=372868209460c2f4d378fac3b8f7"
failed (2: No such file or directory),
client: [my_IP], server: my.domain.name,
request: "GET /application/javax.faces.resource/primefaces.js.xhtml;jsessionid=372868209460c2f4d378fac3b8f7?ln=primefaces&v=5.2 HTTP/1.1",
host: "my.domain.name",
referrer: "http://my.domain.name/jsf/index.xhtml"
В журнале Glassfish у меня есть следующее исключение:
com.sun.faces.context.FacesFileNotFoundException: /application/javax.faces.resource/theme.css.xhtml Not Found in ExternalContext as a Resource
Итак, я обнаружил, что JSF пытается найти ресурсы в /application (который является корневым контекстом приложения jsf), но nginx использует /jsf в директиве location. Так что, возможно, это означает, что я должен использовать одно и то же имя для обоих..