nginx实现反向代理 配置多域名以及多端口号
多个服务部署在同一个服务器,使用不同的端口。
一、思考过程
- 如果不想带上端口号,就只能访问 80 或 443 端口。
- 可以用过二级目录区分服务,通过反向代理转发到不同的 Server。
- 可以用过子域名区分服务,通过反向代理转发到不同的 Server。
二、方案评估
- 对于不带端口号访问,以我目前的经验来看,找不到其它更好的方法,只能使用 80 或 443 端口。
- 使用二级目录区分服务,可行性很大。
- 能通过二级目录名,明确区分服务。
- 可是和直接使用端口号差别不大,只是把辨别服务的方法,从端口号变成了二级目录名。
- 可能导致 url 过长。
- 还是没有什么美观性。
- 使用子域名区分服务,可行性与二级目录相差无几。
- 能通过子域名,明确区分服务。
- 具有一定的美观性。
三、实践操作
使用子域名区分服务 的方式,然后使用 nginx 做反向代理,分发到不同的端口。
1、找到nginx的配置文件
打开nginx的配置文件,打开 /安装路径/conf/nginx.conf,进行配置
2、修改配置
server {
listen 80;
server_name *.abc.com;
if ($http_host ~* "^(.*?)\.abc\.com$") { #正则表达式
set $domain $1; #设置变量
}
location / {
if ($domain ~* "shop") {
proxy_pass http://abc.com:3001; #域名中有shop,转发到3001端口
}
if ($domain ~* "mail") {
proxy_pass http://abc.com:3002; #域名中有mail,转发到3002端口
}
tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
root html;
index index.html index.htm; #默认情况
}
}
nginx实现反向代理 配置多域名以及多端口号的更多相关文章
- Nginx之反向代理配置(二)
前文我们聊了Nginx的防盗链.反向代理以及开启nginx代理缓存,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12417130.html:今天我们继续说ng ...
- Nginx之反向代理配置(一)
前文我们聊了下Nginx作为web服务器配置https.日志模块的常用配置.rewrite模块重写用户请求的url,回顾请参考https://www.cnblogs.com/qiuhom-1874/p ...
- linux 安装 nginx 及反向代理配置
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装 ...
- 002-nginx-在 nginx 反向代理中使用域名,配置动态域名解析
一.概述 代理(proxy),即中间人,它代替客户端发送请求给服务器,收到响应后再转给客户端.通常意义上的代理是从用户的角度讲的,用户通过某个代理可以访问多个网站,这个代理是靠近用户的,比如某些公司可 ...
- nginx之旅(第三篇):代理、正向代理、反向代理、代理的原理、nginx反向代理场景、nginx反向代理配置、nginx反向代理语法
一.代理服务与反向代理 什么是代理服务 代理-代理办理(代理理财.代理收货.代理购物等等). 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forw ...
- nginx 反向代理配置(二)
上一篇文章主要是对 nginx 各个模块做了一个介绍,以及对什么是反向代理在文章开头做了一个简单介绍,这篇文章我们主要来看下如何进行 nginx 反向代理的配置 proxy 模块 nginx ...
- nginx的反向代理和配置
最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡.所以搜罗了一些关于反向代理服务器的内容,整理综合. 一 概述 反向代理(Reverse Proxy)方式 ...
- nginx反向代理配置及常见指令
nginx配置文件: /usr/local/nginx1.16.1/conf/nginx.conf nginx.conf默认的server配置: server{ listen 80; server_n ...
- 配置tomcat、nginx实现反向代理(需操作)
配置tomcat.nginx实现反向代理现在我想通过nginx访问tomcat 这就要我们去修改nginx的核心配置文件,在其目录下的conf文件夹下的nginx.conf文件,那么首先我们就要了解该 ...
随机推荐
- USACO Grass Planting
洛谷 P3038 [USACO11DEC]牧草种植Grass Planting 洛谷传送门 JDOJ 2282: USACO 2011 Dec Gold 3.Grass Planting JDOJ传送 ...
- [LeetCode] 644. Maximum Average Subarray II 子数组的最大平均值之二
Given an array consisting of n integers, find the contiguous subarray whose length is greater than o ...
- [LeetCode] 547. Friend Circles 朋友圈
There are N students in a class. Some of them are friends, while some are not. Their friendship is t ...
- 4.Python项目实战
这里会每个周更新一个Python的大练习,作为 实战项目... elk
- 一次失败的尝试:arm(aarch64架构)上使用docker运行Gogs
环境 Ubuntu aarch64(好像是arm8的一种) Docker安装指南:https://docs.docker.com/install/linux/docker-ce/ubuntu/ Gog ...
- win10安装docker并结合Idea2018.1部署springboot项目
一.准备工作 1..工具:win10,idea2018,maven3.5,jdk8 二.win10安装docker 1.win10安装docker:http://www.runoob.com/dock ...
- java do while 循环
public class Sample { public static void main(String[] args) { ; do { System.out.print(num + " ...
- nginx小知识
What Nginx是一款轻量级的Web服务器.反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用. 反向代理 当我们在外网访问百度的时候,其实会进行一个转发,代理到内 ...
- Scala字符串插值 - StringContext
翻译自:STRING INTERPOLATION 简介 自2.10.0版本开始,Scala提供了一种新的机制来根据数据生成字符串:字符串插值.字符串插值允许使用者将变量引用直接插入处理过的字面字符中. ...
- openldap 指定普通用户登录ldap后可查看某分组下的用户信息
#ldap普通用户登录限制查看信息#在/openldap/slapd.conf文件最下面添加一下代码,可控制某个用户拥有查看用户信息的权限,而其他普通用户登录后无法查看用户信息,若有多个普通用户需要用 ...