V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
jieyuxue
V2EX  ›  NGINX

Nginx proxy_pass 代理的问题

  •  
  •   jieyuxue · 2019-08-10 21:08:00 +08:00 · 2806 次点击
    这是一个创建于 1714 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在一个域名下代理不同的后端服务,比如 1. a.123.com/foo 代理到后端服务器的 192.168.1.1:8080/ 2. a.123.com/sub 代理到 192.168.1.2:8090/web,现在 1 的问题是 css 样式会丢失,查看 URL 是 a.123.com/css/styles.css ,但真实的路径应该是 a.123.com/foo/css/styles.css 才能访问到,这个该怎么代理。 问题 2 是输入用户名密码登录不上,报 tokenerror 的信息,但直接登录后端的服务是没有问题的
    以上两个问题麻烦大佬指点下

    5 条回复    2019-08-11 03:03:39 +08:00
    jinliming2
        1
    jinliming2  
       2019-08-10 21:20:33 +08:00 via iPhone
    1 的问题要到后端反代的服务上去处理,直接在 Nginx 上配应该比较困难。(可能要第三方模块?)
    2 的问题我没 Get 到点? tokenerror 应该也是后端反代的服务报的,去看服务的日志。
    Acoffice
        2
    Acoffice  
       2019-08-10 21:59:07 +08:00 via Android
    写两个 location,不就完事儿了
    hawhaw
        3
    hawhaw  
       2019-08-10 22:19:36 +08:00 via Android
    问题一 css 路径不对肯定是页面里用了绝对路径 /css/style.css
    Danswerme
        4
    Danswerme  
       2019-08-10 23:21:13 +08:00 via Android
    server {
    listen 80;
    server_name a.123.com;

    location /sub/ {
    proxy_pass http://192.168.1.2:8090/web;
    }

    location /foo/ {
    proxy_pass http://192.168.1.1:8080;
    }
    }



    是这样吗?你把你配置文件弄出来看看呗
    autogen
        5
    autogen  
       2019-08-11 03:03:39 +08:00
    proxy_pass http://192.168.1.1:8080/foo/;
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2190 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:12 · PVG 00:12 · LAX 09:12 · JFK 12:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.