我有一个带有 Glassfish v3 + Nginx 设置的 EC2 ubuntu 来托管我的 java web 应用程序。此应用程序作为 WAR 文件部署到 Glassfish。NGINX 目前正在将所有请求传递给 glasshfish 应用程序服务器,包括静态图像、CSS 等 javascript 等请求。
server {
listen 80;
server_name whatever.com www.whatever.com;
access_log /var/log/nginx/whatever.com.access.log;
location / {
proxy_pass http://127.0.0.1:8080/javapp/;
proxy_pass_header Set-Cookie;
proxy_pass_header X-Forwarded-For;
proxy_pass_header Host;
}
}
我已经解决了这个问题 a) 修改配置文件如下
b) 在 Nginx HTML 根目录 (/home/ubuntu/www/public_html) 下创建一个与您的 Web 应用程序上下文同名的子目录。例如,如果您的 webpp url 是 www.whatever.com/mycoolapp,请创建一个名为 /home/ubuntu/www/public_html/mycoolapp 的目录
c) 将 war 文件解压到这个文件夹。摆脱 WEB-INF 文件夹
d) 重新启动 nginx。要验证,请停止您的 Web 应用程序,同时保持 NGINX 启动并从您的 Web 应用程序访问图像或 css。