V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mhtt
V2EX  ›  问与答

请教一个 nginx 的规则写法

  •  
  •   mhtt · 2016-10-09 14:42:42 +08:00 · 966 次点击
    这是一个创建于 2971 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个 nodejs 的程序, node app.js 后的访问地址是 http://127.0.0.1:6000,下面是我的 nginx 的配置

    server {
    listen 80;
            server_name domain.com;
            location / {
                    proxy_pass https://127.0.0.1:6000;
            }
    }
    

    可以通过 domain.com 直接访问该程序,正常,但我现在想通过 domain.com/blog 这样的方式访问这个 nodejs 程序,而 domain.com 则访问指定的地址, nginx 改成如下

    server {
    listen 80;
            server_name domain.com;
            root /sites;
            index index.html index.htm;
    }
    

    那么 domain.com/blog 该如何配置呢?

    是不对的,请教正确的方式是?

    4 条回复    2016-10-09 15:42:05 +08:00
    jackysc
        1
    jackysc  
       2016-10-09 14:46:18 +08:00
    server {
    listen 80;
    server_name domain.com;
    root /sites;
    index index.html index.htm;
    location /blog {
    proxy_pass https://127.0.0.1:6000;
    }
    }
    ryd994
        2
    ryd994  
       2016-10-09 15:18:27 +08:00 via Android
    @jackysc 不,要 proxy_pass https://127.0.0.1:6000/; 最后的斜杠会替换 /blog/路径
    而且要正常工作的话,可能还需要 http_sub 替换引用的链接
    yangg
        3
    yangg  
       2016-10-09 15:41:13 +08:00
    try_files

    server {
    listen 443 ssl http2;
    server_name www.uedsky.com;
    include ssl.conf;

    location / {
    root /var/www/uedsky.www/current/public;
    try_files $uri $uri/index.html @site;
    # expires 30d;
    }
    location @site {
    proxy_pass http://127.0.0.1:3333;
    proxy_set_header Host $http_host;
    }
    }
    yangg
        4
    yangg  
       2016-10-09 15:42:05 +08:00
    没看清要求,忽略。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3384 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:39 · PVG 19:39 · LAX 03:39 · JFK 06:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.