Nginx反向代理配置之proxy_pass-阿里云开发者社区

开发者社区> 程序猿v> 正文

Nginx反向代理配置之proxy_pass

简介: Nginx反向代理配置之proxy_pass
+关注继续查看

一、环境准备

使用express准备解析路径的应用

本来准备使用Flask, 不过没找到路由通配符的实现方法

1、server.js

const express = require("express");

const app = express();

app.get("*", (request, response) => {
    response.send(request.path)
})

const port = 8081;

app.listen(port, () => {
    console.log(`server at: http://127.0.0.1:${port}`);
})

访问:http://127.0.0.1:8081/

2、配置本地DNS

/etc/hosts

127.0.0.1       www.demo.com

3、配置Nginx

demo.com.conf

server {
  listen 80;
  server_name www.demo.com;
  location / {
      proxy_pass http://127.0.0.1:8081/;
  }
}

访问:http://www.demo.com/

二、简单示例

location匹配的网址

location /      # 普通 location
location ^~ /   # ^表示 “非”,~ 表示 “正则”,意思是:不要继续匹配正则 

先看一个简单的例子:

配置1:

location /api {
    proxy_pass http://127.0.0.1:8081/;
}

# 访问 | 返回两个路径
http://www.demo.com/api   /
http://www.demo.com/api/  //

配置2:

location /api/ {
    proxy_pass http://127.0.0.1:8081/;
}

# 访问 | 返回一个路径
http://www.demo.com/api   /   # 网址会自动加/
http://www.demo.com/api/  /

所以,为了减少变量,配置location的地址,都在结尾加上/

三、测试

访问的地址都是:

http://www.demo.com/api/index.html

proxy_pass

return

http://127.0.0.1:8081

/api/index.html

http://127.0.0.1:8081/

/index.html

http://127.0.0.1:8081/admin

/adminindex.html

http://127.0.0.1:8081/admin/

/admin/index.html


所以,还是proxy_pass以/ 结尾比较容易记忆

参考

nginx 反向代理之 proxy_pass

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10081 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13885 0
nginx图片服务器配置proxy_cache及purge错误解决方法
这里主要分享下centos环境nginx搭建图片服务器的过程以及遇到错误解决方法 一.nginx安装 这里需要用到ngx_cache_purge模块建议采用源码编译方式安装 1.安装pcre 下载pcre安装包 然后 .
1246 0
+关注
1569
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载