nginx实现反向代理 配置多域名以及多端口号

多个服务部署在同一个服务器,使用不同的端口。

一、思考过程

  1. 如果不想带上端口号,就只能访问 80 或 443 端口。
  2. 可以用过二级目录区分服务,通过反向代理转发到不同的 Server。
  3. 可以用过子域名区分服务,通过反向代理转发到不同的 Server。

二、方案评估

  1. 对于不带端口号访问,以我目前的经验来看,找不到其它更好的方法,只能使用 80 或 443 端口。
  2. 使用二级目录区分服务,可行性很大。
    • 能通过二级目录名,明确区分服务。
    • 可是和直接使用端口号差别不大,只是把辨别服务的方法,从端口号变成了二级目录名。
    • 可能导致 url 过长。
    • 还是没有什么美观性。
  3. 使用子域名区分服务,可行性与二级目录相差无几。
    • 能通过子域名,明确区分服务。
    • 具有一定的美观性。

三、实践操作

使用子域名区分服务 的方式,然后使用 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;            #默认情况

        }

}

  

个人博客 wordpress + docker 搭建

原文地址:https://www.cnblogs.com/panchanggui/p/12064427.html

时间: 2024-12-29 23:29:41

nginx实现反向代理 配置多域名以及多端口号的相关文章

4-1-面试必备-nginx实现反向代理配置与实战

nginx服务有缓存机制,但是要看nginx做为什么服务器来用,才启用缓存,否则自己的压力就非常大了(后端服务器压力小),因为nginx最拿手的是维持连接,缓存可以使用其他服务.nat服务工作在三层和四层,可以简单理解为工作在四层.注意:如果能工作在应用层就叫做代理,那么这个服务器就能监听一些端口但不是全部,---意思是服务器具有业务处理能力,一边是客户端(要理解客户端发的内容),一边是服务端(用自己的方式把内容传过去),所以可以有自己的缓存了 上边讲的是正向代理和反向代理的原理,nginx是可

nginx搭建反向代理配置

一.安装gcc yum install gcc-c++ -y 二.安装nginx所需要的依赖库 yum -y install zlib-devel openssl-devel pcre-devel 三.如有安装老版本,则卸载. 查看:find -name nginx 卸载:yum remove nginx 四.下载nginx源码并解压.(源码去官网下载, 以下是官方链接) wget -c http://nginx.org/download/nginx-1.6.2.tar.gz tar -zxvf

linux 安装 nginx 及反向代理配置

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装编译环境gcc g++ 和make(用于编译源代码成可执行文件) 1yum install gcc gcc-c++ 2 yum -y install gcc automake autoconf libtool make 二:安装pcre (nginx rewrite依赖pcre库)zlib(用于gzip压缩)

nginx反向代理配置详解

反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置. 将默认配置里面带#号注释内容去掉 grep -v "#" /opt/nginx/conf/nginx.conf > /opt/nginx/conf/nginx.confbak 将原先的配置修改名字备份一下,后面的没有注释内容的nginx.confbak修改名字为nginx.conf 反向代理配置示例: #定义Nginx运行的用户和用

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装、添加程序管理脚本、设置开机启动、反向代理配置、证书分发、添加iptables规则等

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装.添加程序管理脚本.设置开机启动.反向代理配置.证书分发.添加iptables规则等.脚本支持自定义nginx安装版本.设置编译模块.配置监听端口等. 1. Nginx Role规则说明 本脚本用于中间节点(Nginx反向代理)环境的自动化配置,主要内容包括: 安装基础依赖环境: 创建nginx启动用户(支持自定义用户): 下载nginx安装文件(可自定义nginx版本): 解压安装文件: 执行编译安装(可自定义编译参数和

Cento7+Nginx反向代理实现多域名跳转

近期比较忙,所以很少写文档了,最近有个项目组有多个环境需要做映射,所以就想到了通过Nginx反向代理实现多域名地址跳转,以致就总结了一下,其实说到代理我们大家都知道.最常见最常说的所谓的就是NAT,就是将内部多个地址请求通过代理转达到外部.这个就叫正向代理,那什么是反向代理呢-就是和正向代理相反:所以很好理解,Nginx反向代理功能很强大,可以通过一个nginx代理实现多个域名及不同的端口进行代理转发,所以在日常的运维中很有帮助.我们今天的演示是通过Nginx反向代理实现内部不同的多个域名转发.

nginx反向代理配置

nginx这块了解得不深,这里只简单记录下配置文件,后续再做补充. 一.反向代理的配置 server { listen 80; #配置监听的端口 server_name zxy1994.com; #访问域名 proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; p

nginx的反向代理和配置

最近有打算研读nginx源代码,看到网上介绍nginx可以作为一个反向代理服务器完成负载均衡.所以搜罗了一些关于反向代理服务器的内容,整理综合. 一  概述 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器. 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接

Nginx安装和反向代理配置

Nginx安装和反向代理配置 Nginx安装需要一些准备工作. 安装gcc等 yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel 还需要安装pcre,PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 Perl兼容的正则表达式库. yum -y install pcre 下载Nginx源码包,这里选择是1.7.8版本.并且解压缩,并且编译 wge