加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

使用nginx和Play 2.1应用程序的子目录的反向代理

发布时间:2020-12-13 21:37:03 所属栏目:Nginx 来源:网络整理
导读:目标 使用nginx为每个应用程序使用不同的子目录设置多个Play 2.1应用程序. 运行在127.0.0.1:4000上的App1应该可以在127.0.0.1/dev下访问 运行在127.0.0.1:5000上的App2应该可以在127.0.0.1/test下访问 组态 nginx.conf worker_processes 1;error_log logs/er

目标

使用nginx为每个应用程序使用不同的子目录设置多个Play 2.1应用程序.

运行在127.0.0.1:4000上的App1应该可以在127.0.0.1/dev下访问
运行在127.0.0.1:5000上的App2应该可以在127.0.0.1/test下访问

组态

nginx.conf

worker_processes  1;

error_log  logs/error.log;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    upstream app1 {
        server 127.0.0.1:4000;
    }

    upstream app2 {
        server 127.0.0.1:5000;
    }

    server {
        listen       80;
        server_name  localhost;

        location /dev {
            rewrite /(.*) /$1 break;
            proxy_pass http://app1;
        }

        location /test {
            rewrite /(.*) /$1 break;
            proxy_pass http://app2;
        }        
    }
}

App1 – application.conf

application.context=/dev

App2 – application.conf

application.context=/test

问题

使用此配置,我可以访问这两个应用程序,但只加载了html代码.未加载所有静态文件(css,js,images).

我认为这是缓存问题.我试过不同的nginx参数,没有运气.如果我第一次请求该站点,浏览器响应(对于css和js文件,例如127.0.0.1/dev/assets/stylesheets/main.css)状态为200但没有内容 – Content-Length:0.对于下一个时间它以304响应,仍然没有内容.

我不确定这是否是nginx或Play 2.1配置问题.

我将不胜感激任何帮助.

最佳答案
使用http://test.loc/和http://dev.loc等本地域,而不是依赖于子文件夹.尽管application.context应该可行,但我看到很多帖子抱怨说他们不…

使用本地域更加类似于最终的生产环境,所以调试一些url依赖的东西就更容易了,比如ie.饼干.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读