Nginx 二次转发、多域名实现

原创 2016年08月29日 20:43:14

 

 

 

1、多域名访问

功能实现场景:

         就是安装部署一个nginx,启动端口为80,可以使用www.java.cn/userWeb/index.html访问,也可以使用game.net.cn/userWeb/login.jsp访问。

 

Nginx配置:

       实现过程,放置2个server{…… server_name www.xxx.com; ……},配置参见下面的案例细节,然后启动nginx就可以实现。

    server {

        listen       80;

        server_name  www.java.cn;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

 

                    upstream gatewaybackend{

                     #ip_hash;

                     server 192.168.121.213:6100 ;

                     ##server 192.168.180.104:6100 down  ;

                   }

        

                   location ~* ^/*$ {

                             proxy_pass http://gatewaybackend;

                             include proxy.conf;

 

                             error_log  logs/gateway_error.log info;

                             access_log  logs/gateway_access.log  main;                                                                                                        

                            }

        

       

       location /meeting {

            root  html;

            index  index.html index.htm;

        }

       location /demo {

            root  html;

            index  index.html index.htm;

        }

 

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

    }

 

    server {

        listen       80;

        server_name  game.net.cn;

 

        #charset koi8-r;

 

        #access_log  logs/host.access.log  main;

 

        location / {

            root   html/game;

            index  index.html;

        }

 

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

 

    }

      

 

 

 

2、二次转发

功能实现场景

输入plocc.powerlong.com/gt/glc/index.html这样简短的域名,然后实现直接访问linux下部署的几台tomcat应用OCC_DataCollection_Web,而且浏览器的url显示不能改变。

 

 

在nginx.conf配置:

 

# 配置负载均衡路由

   upstream odw_backend{

      server 192.168.121.243:6700;

server 192.168.121.223:6700;

server 192.168.121.253:6700;

}

 

# 第一次跳转转发,主要是浏览器输入框的url不会变化

        location ~* ^/dt/.*$ {

          rewrite /dt/(.*) /OCC_DataCollection_Web/$1 ;

 

        }

 

 

#  第二次跳转转发,url不会变,然后实际访问的是linux下的tomcat应用                                                                          

        location ~* ^/OCC_DataCollection_Web/.*$ {

         include deny.conf;

 

         proxy_pass http:// odw_backend;

         include proxy.conf;

 

         error_log  logs/occ_dataconnection_web.log error;

         access_log  logs/occ_dataconnection_web.log sso;

 

        }

 

 

 

 

在tomcat里面部署一个临时目录glc,里面准备index.xml:

 

# 进入tomcat工程目录cd /usr/local/app/apache-tomcat-6.0.37_7000/webapps/glc;准备测试的html文件:

[tomcat@test_idc_web_1_24 glc]$ more index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>交易主页</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>

 

hello, welcome to yueworld !

<body>

<div>

 

</div>

</body>

</html>

[tomcat@test_idc_web_1_24 glc]$

 

 

在网页中验证跳转信息,输入plocc.powerlong.com/gt/glc/index.html,成功跳转后会显示如下界面,如下图所示:

 

 

 

相关文章推荐

nginx实现带参数目录域名重定向二级域名方法

本文章介绍了关于nginx实现带参数目录域名重定向二级域名方法,有需要学习的朋友可参考一下。 下面的代码是基于nginx的子目录301到其他域名(URL)的规则。作用是例如访问http://ww...

nginx配置子域名跳转到后端请求

nginx配置子域名跳转到后端请求

FFmpeg总结(十二)用ffmpeg与nginx实现直播多路流并发播放

下载 nginx 和 nginx-rtmp源码: http://nginx.org/download/nginx-1.5.10.tar.gz https://github.com/arut/ngi...

Nginx proxy pass路由转发简单用法

一,在nginx中配置proxy_pass时的加不加/的问题 要注意proxy_pass后的url最后的/ 当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走 如...
  • guyue35
  • guyue35
  • 2016年12月28日 12:36
  • 3322

nginx实现数据转发与负载均衡

nginx是一款第三方开源的主要用来做数据转发、反向代理、负载均衡的软件,目前在互联网和软件行业大量使用。本篇博客主要来实现nginx的数据转发和负载均衡的功能,最主要的是配置nginx的配置文件。 ...

nginx转发规则

nginx转发规则   正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 ...

搭建nginx反向代理用做内网域名转发

基于域名的7层转发的实现(NAT+反向代理) 在实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使...
  • tham_
  • tham_
  • 2015年05月25日 20:10
  • 14326

Linux上利用nginx域名转发

环境:Linux CentOS6.5  Tomcat 7 nginx-1.10.1-1.el6.ngx.x86_64 描述: 公司在阿里云有一台主机,里面部署了很多的应用程序,只有一个Tomcat...
  • hzw2312
  • hzw2312
  • 2016年06月30日 14:57
  • 7551

nginx 实现多域名转发到web服务不同路径

项目背景 我们有个项目前端是用vue 写的,node 起的web服务,中转api到后台接口。 但是项目下有多个平台,可以理解成多个端,每个端都有自己的node web服务,绑定不同端口,如3001 3...

centos下安装nginx,并配置域名转发

1,下载nginx 进入 #wget
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx 二次转发、多域名实现
举报原因:
原因补充:

(最多只允许输入30个字)