精华内容
下载资源
问答
  • 相信大家在学习Nginx之前对反向代理和负载均衡就有所闻知,那么今天小编带领大家先来体验一下使用这个Nginx反向代理的感觉。 二、反向代理流程 话说这个Nginx反向代理+负载均衡难吗?实话告诉你们 ...

    一、引言

    从Nginx入门学习开始、到现在所讲的Nginx反向代理。我们的Nginx学习已经进入白热化状态,前面所学只是铺垫,真正在公司的业务场景中Nginx绝大数用来反向代理+负载均衡所用。相信大家在学习Nginx之前对反向代理和负载均衡就有所闻知,那么今天小编带领大家先来体验一下使用这个Nginx反向代理的感觉。

    二、反向代理流程

    话说这个Nginx反向代理+负载均衡难吗?实话告诉你们 :用Nginx做反向代理和负载均衡非常简单,支持两种用法 一个是proxy、另外一种是upstream,分别用来做反向代理和负载均衡。

    流程也很简单:

    1 先客户端发起请求到Nginx,Nginx会解析你请求地址是否需要转发到其他地方处理

    2 如果需要则通过proxy_pass进行转发到相对应处理到地址。 (处理的地址可能是不同的服务器、或者其他服务)

    3 最后进行完成返回结果

    三、反向代理的初体验

    我们先来实现一个小小的反向代理演示,初步感受一下。小编拿两个域名给大家演示一下,一个域名没有对应到服务,一个域名有对应的服务。 

    实现效果:当我们访问没有对应服务的域名,然后交给有对应服务的域名进行处理。(如果没有域名的小伙伴,可以通过ip+端口号进行学习)

    假设:没有对应服务的域名:http://www.qing48.cn/ , 有对应服务的域名http://www.battions.com

    以上两个域名已过期,抱歉!!!

    实现步骤

       1、首先将我们http://www.qing48.cn/ 这个域名需要解析到我们对应到Nginx服务上端口是对应到80;

       2、结合我们之前学习配置多个虚拟主机的基础之上,配置一个相对应的虚拟主机。

       3、在使用Nginx反向代理proxy_pass转发到对应的http://www.battions.com/域名上

     

    四、本章只是带大家初步体验,下个章节会讲如何使用Nginx的反向代理+负载均衡结合的使用!!!

    Nginx的反向代理+负载均衡结合教程:点击查看

    展开全文
  • nginx 反向代理配置多个地址的使用

    万次阅读 2018-06-06 08:23:52
    nginx反向代理个地址的时候配置只需要对原有的配置文件稍作修改就行,但当配置两个以上地址的时候就需要注意了,首先配置的地址中如果是打开的80端口的时候,地址一定要默认添加一个\项目名\ ,否则会出现找不到...

    用nginx反向代理一个地址的时候配置只需要对原有的配置文件稍作修改就行,但当配置两个以上地址的时候就需要注意了,首先配置的地址中如果是打开的80端口的时候,地址一定要默认添加一个\项目名\ ,否则会出现找不到目录的错误。

    一个地址的时候的配置是,这个端口可以是任意端口

     #gzip  on;
    
    	server {
            listen       外网端口;
            server_name  localhost;
    
            location / {
    			proxy_pass http://***.***.***.***:端口;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    	}

    当配置多个地址的时候需要配置,abc的目录地址端口可以是80,如果不加/abc  则找不到目录

    	server {
            listen    外网端口;
            server_name  localhost;
    
            location / {
    			proxy_pass http://***.***.***.***:端口;
            }
            location /abc/ {
    			proxy_pass http://***.***.***.***:80;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    	}

    展开全文
  • nginx反向代理多个tomcat

    千次阅读 2017-11-02 21:02:22
    nginx即可用做web服务器也可以用反向代理(负载均衡)(自己了解反向代理和正向代理-详情),今天介绍一下反向代理多个tomcat,先了解怎么修改端口同时运行多个tomcat服务器-详情,然后还要解析自己的域名,解析为*....

    nginx即可用做web服务器也可以用反向代理(负载均衡)(自己了解反向代理和正向代理-详情),今天介绍一下反向代理多个tomcat,先了解怎么修改端口同时运行多个tomcat服务器-详情,然后还要解析自己的域名,解析为*.lookk.cn,星号是匹配自己域名的子域名(例order.lookk.cn也解析到自己服务器的公网IP),这样就可以用项目名做为子域名了,最后在nginx的配置文件/etc/nginx/nginx.conf的http里添加一下代码

    server {
            listen       80;
            server_name  order.lookk.cn;    #要访问的域名,我这里用的测试域名,如果有多个,用空格分开
    
            charset utf8;
    
            location / {
                proxy_pass       http://127.0.0.1:8080;               #映射到代理服务器,可以是ip加端口,   或url 
                proxy_set_header Host      $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
           }
        }
    
        server {
            listen       80;
            server_name  javatest.lookk.cn;    #要访问的域名,我这里用的测试域名,如果有多个,用空格分开
    
            charset utf8;
    
            location / {
                proxy_pass       http://127.0.0.1:8090;               #映射到代理服务器,可以是ip加端口,   或url 
                proxy_set_header Host      $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
           }
        }

    运行多个tomcat时,一般一个tomcat最多运行一个项目,这个项目要放在ROOT目录下-详情,这样才能使proxy_pass http://127.0.0.1:8080; 直接访问该项目

    优点: 用nginx反向代理tomcat有一下几个优点
    1、可以同时运行多个tomcat
    2、访问路径可以隐藏80端口
    3、可以用项目名做为域名,自己访问到改项目 例:order.lookk.cn自己访问到order项目
    4、还可以负载均衡,一个项目运行在多个服务器上,这个自己去探索。

    展开全文
  • docker_nginx反向代理多个容器实例

    万次阅读 2018-07-03 20:22:07
    docker_nginx反向代理多个容器实例, 这里使用的是 qnap 中的 Container Station 跑的docker. 目的: 在使用同一个外网端口(443)的情况下, 通过反向代理 二级域名 到 多个容器的不同端口上. 同时使用 https 加持 ...

    docker_nginx反向代理多个容器实例, 这里使用的是 qnap 中的 Container Station 跑的docker.
    目的: 在使用同一个外网端口(443)的情况下, 通过反向代理 二级域名 到 多个容器的不同端口上. 同时使用 https 加持
    例如: a.xx.com -> 实例a:3000, b.xx.com -> 实例a:4000


    前置物料

    1. 阿里云注册的域名, 及其免费证书.
    2. 公网ip
    3. docker 实例 , 这里是 gogs, 容器 web 端口是 3000

    docker nginx 启动

    1. 拉个官网镜像. docker pull nginx

    2. https 正式丢到 DockerData/nginx/certs 下.

    3. 跑起来, 这里用的是 qnap

      1. 链接了两个 docker 实例

        :gogs:3000
        :hexo:4000

      2. 端口映射, 主要是 443 https端口

        443:443
        32770:80

      3. 挂载文件

        DockerData/nginx/certs:/certs # 挂载 阿里云 下载的 nginx证书
        DockerData/nginx/conf:/etc/nginx/conf.d # 配置文件. 详细配置看这里 反向代理配置

        添加配置文件

        server
        {
          listen 443 ssl;
          server_name gogs.abc.com; # 阿里云域名
          ssl_certificate /certs/cert_gogs/214816825520979.pem; # 两个证书路径
          ssl_certificate_key /certs/cert_gogs/214816825520979.key;
          ssl_session_timeout 5m;
          ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
          ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
          ssl_prefer_server_ciphers on;
          location / {
              proxy_redirect off;
              proxy_set_header Host $host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_pass http://gogs:3000; # 代理链接的gogs web端口
          }
          client_max_body_size 512M;
          access_log /var/log/nginx/gogs.abc.com.log;
        }

    4. run 起来后访问


    多域名绑定同一个ip

    同一台机子绑定了多个二级域名, 将二级域名的记录值CNAME到主域名即可
    参考: https://github.com/chenhw2/aliyun-ddns-cli/issues/10


    hexo docker: https://hub.docker.com/r/ipple1986/hexo/


    gogos 使用 https 及 二级域名 加持

    需要修改gogs中修改两个参数, 才能https中显示正确, 并 clone

    [server]
    DOMAIN           = gogs.abc.com
    ROOT_URL         = https://gogs.abc.com/

    https://gogs.abc.com/yangxuan/ArtRes_ItsCharOld.git


    开启 gzip

    1. nginx代理所有都开启gzip, 修改配置文件 /etc/nginx/nginx.conf

      
      # vi /etc/nginx/nginx.conf # 加入以下配置
      
      ...
          #gzip  on;
          #启用gzip
          gzip on;
          #需要压缩文件的最小尺寸,单位是B
          gzip_min_length  1000;
          #gzip文件缓存大小
          gzip_buffers     4 8k; # 4和8之间有个空格的啊
          #gzip压缩文件格式,以下涵盖了一般所需的类型
          gzip_types       text/plain application/x-javascript text/css application/xml application/javascript application/json;
          #gzip压缩等级,数值越高压缩得越狠,也越占资源
          gzip_comp_level 3;
      ...
    2. 重启nginx

    3. 打开Chrome查看是否开启成功


    相关详细配置

    反向代理配置

    自定义文件 /etc/nginx/conf.d/my_nginx.conf

    # http conf
    # server {
    #     listen  80;
    #     server_name  gogs.abc.com;
    #     access_log /var/log/nginx/www.abc.access.log main;
    #     error_log /var/log/nginx/www.abc.error.log error;
    #     location / {
    #         proxy_set_header  Host  $http_host;
    #         proxy_set_header  X-Real-IP  $remote_addr;
    #         proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    #         proxy_pass  http://gogs:3000;
    #     }
    # }
    
    # http redirect to https
    server {
        listen 80;
        server_name abc.com www.abc.com;
        rewrite ^(.*) https://$host$1 permanent;
    }
    
    # https conf
    server
    {
        listen 443 ssl;
        server_name www.abc.com;
        ssl_certificate /certs/cert_www/214597807690979.pem;
        ssl_certificate_key /certs/cert_www/214597807690979.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    #    location / {
    #        proxy_redirect off;
    #        proxy_set_header Host $host;
    #        proxy_set_header X-Real-IP $remote_addr;
    #        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #        proxy_pass http://127.0.0.1;
    #    }
        client_max_body_size 512M;
        access_log /var/log/nginx/www.abc.com.log;
    }
    
    server
    {
        listen 443 ssl;
        server_name gogs.abc.com;
        ssl_certificate /certs/cert_gogs/214816825520979.pem;
        ssl_certificate_key /certs/cert_gogs/214816825520979.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://gogs:3000;
        }
        client_max_body_size 512M;
        access_log /var/log/nginx/gogs.abc.com.log;
    }
    
    server
    {
        listen 443 ssl;
        server_name blog.abc.com;
        ssl_certificate /certs/cert_blog/214816925260979.pem;
        ssl_certificate_key /certs/cert_blog/214816925260979.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://hexo:4000;
        }
        client_max_body_size 512M;
        access_log /var/log/nginx/blog.abc.com.log;
    }
    
    # server {
    #     listen  80;
    #     server_name  gossh.abc.com;
    #     access_log /var/log/nginx/www.abc.access.log main;
    #     error_log /var/log/nginx/www.abc.error.log error;
    #     location / {
    #         proxy_set_header  Host  $http_host;
    #         proxy_set_header  X-Real-IP  $remote_addr;
    #         proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    #         proxy_pass  http://gogs:23522;
    #     }
    # }
    展开全文
  • nginx反向代理多个单页面应用 直接上配置文件 1.nginx.conf user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; .....
  • nginx反向代理多个tomcat服务

    万次阅读 2015-01-28 15:48:43
    一台Linux服务器有多个tomcat服务,多个端口不容易记忆,可以使用nginx反向代理,用一个端口访问到所有的tomcat服务。只需要安装一个nginx,然后配置反向代理即可。
  • Nginx反向代理多个域名

    万次阅读 2016-12-25 15:57:04
    简介 由于公司内网有台服务器的http服务要映射到公司外网静态IP,如果用路由的...所以我们可以在内网搭建个nginx反向代理服务器,将nginx反向代理服务器的80映射到外网IP的80,这样指向到公司外网IP的域名的HTTP请求
  • Nginx反向代理一个80端口下配置多个微信项目详解  我们要接入微信公众号平台开发,需要填写服务器配置,然后依据接口文档才能实现业务逻辑。但是微信公众号接口只支持80接口(80端口)。我们因业务需求需要在一个...
  • Nginx反向代理配置实例、及一台Nginx配置多个反向代理。 本文主要配置Nginx的反向代理,及公司有多台服务器都需要公司一台主Nginx代理配置。使用Nginx+Tomcat实现此项目的反向代理,至于Nginx,tomcat如何搭建百度一...
  • nginx反向代理多个系统

    千次阅读 热门讨论 2016-11-04 15:55:51
    $request_uri代表的是URL地址除去“http://域名”字符串以后剩下的字符串,例如:URL地址为: http://192.154.222.191:8000/itoo-basic-majorchoosecourse-web/settingMajorCourse ,则$request_uri代表的是itoo-
  • Nginx配置反向代理

    万次阅读 多人点赞 2019-07-14 14:05:31
    Nginx配置反向代理,什么是反向代理 反向代理服务器决定哪台服务器提供服务。返回代理服务器不提供服务器。只是请求的转发。
  • 请查看此文章:https://blog.csdn.net/u013641234/article/details/73838472安装完成以后,启动Nginx,看看是否能够正常访问,然后开始配置Nginx反向代理 :同一台服务器或多台服务器的多个tomcat,每次转发单独访问某个...
  • Nginx系列三:Nginx反向代理

    千次阅读 2021-01-13 17:54:46
    Nginx系列三:Nginx反向代理
  • Nginx 反向代理

    千次阅读 2020-09-22 11:06:49
    利用 Nginx 进行反向代理
  • 因为部署的是webpack打包好的前端文件,图片访问可以直接代理阿里云访问 这里是图片上传到阿里云并获得外网访问路径文章: 阿里云OSS文件上传存储和删除,获取文件外网访问路径 只要修改配置文件即可使用,...
  • nginx反向代理服务器:192.168.14.40 tomcat1:192.168.14.13:8080 tomcat2:192.168.14.13:8081 tomcat3:192.168.14.13:8082 一、nginx反向代理 1、安装过程查看其它文章操作 nginx反向代理 2、修改配置...
  • nginx反向代理tomcat

    千次阅读 2018-09-26 16:24:07
    nginx反向代理tomcat 本文由个人总结,如需转载使用请标明原著及原文地址 首先你要有tomcat和nginx 没有装tomcat的点这里!!!!! 没有装nginx的点这里!!!!!! nginx反向代理tomcat其实很简单只需要修改...
  • 一丶nginx反向代理多个tomcat服务器 1.什么是正向代理? 代理对象是客户端,服务端不用知道是哪个客户端访问的。 2.什么是反向代理? 代理对象是服务端,客户端不知道是哪个服务端接受的访问(访问同一个网址,...
  • nginx反向代理,一个ip对应多个应用

    千次阅读 2018-08-22 17:01:23
    Title: nginx反向代理,一个ip对应多个应用 Date: 2015-04-27 16:50:17 URL: /archives/520 Tags: nginx , 反向代理 #user nobody; worker_processes 1; error_log logs/error.log; #error_log logs/error....
  • nginx反向代理执行流程

    千次阅读 多人点赞 2019-06-09 23:02:15
    nginx反向代理配置文件 流程详解: nginx反向代理配置文件 首先,先阅读nginx反向代理的配置的文件:(注意3处标红的位置) #运行用户 #user nobody; #启动进程 通常设置与cpu数量相同 worker_processes 1; #...
  • nginx反向代理模块

    千次阅读 2017-01-01 12:55:04
    nginx反向代理模块
  • nginx反向代理和正向代理的区别

    千次阅读 2020-05-24 09:13:16
    nginx反向代理和正向代理的区别是什么?下面本篇文章就来给大家介绍一下,希望对你们有所帮助。 什么是正向代理? 正向代理是一位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得...
  • Nginx——反向代理多个服务器

    千次阅读 2020-03-02 10:38:47
    Nginx反向代理多个服务器,意思是说,当我们发起了不同的请求到nginx,nginx会根据请求的不同,转发到不同的服务器,如下图,当我们通过8000端口访问资源a时,nginx会将请求转发到8080服务器,当访问资源b时,会转发...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 74,031
精华内容 29,612
关键字:

nginx反向代理多个地址