Nginx将所有请求路由到config中指定的位置

时间:2017-11-30 03:58:41

标签: nginx proxy reverse-proxy nginx-reverse-proxy

我在nginx.conf

中有以下部分
server {
    listen       8080;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
    }

    location /main/ {
        proxy_pass http://192.168.0.10:3001/main/console/;

        auth_basic "Main Area";
        auth_basic_user_file /etc/apache2/.htpasswd;
    }
}

现在,如果我点击http://localhost:8080/main,它会成功显示http://192.168.0.10:3001/main/console/上运行的页面。但是现在,即使我http://localhost:8080/main/blah/blah/blah,它也会将我重定向到与http://192.168.0.10:3001/main/console/相同的页面

由于这个原因,我在页面中提供了一些静态内容,而HTML中的引用被称为<script src='/main/resources/myapp/images/jquery-3.1.1.min.js'> 该内容不会显示在页面上,因为它会将我重定向回主页面。

如何解决此问题?

编辑:
我想要实现的目标:
1.我想代理我在我的应用程序中使用的一些URI。例如:我想将http://localhost:8080/main代理到http://192.168.0.10:3001/main/console/ 并且http://localhost:8080/registerhttp://192.168.0.10:3001/main/register/

2.在http://192.168.0.10:3001中运行的此应用程序是从jar文件启动的,它使用jetty服务器。因此,jar中包含的所有图片都应通过proxy正常提供 3.我不希望http://localhost:8080/main/blah/blah/blah仍然重定向到http://192.168.0.10:3001/main/console/。只有http://localhost:8080/main才能重定向到http://192.168.0.10:3001/main/console/

0 个答案:

没有答案