nginx做域名转发和uri转发

一、 域名转发 www.qq.com ------> www.baidu.com

  nginx部署在192.168.1.100,本地配置host 192.168.1.100 www.qq.com ,浏览器输入www.qq.com会跳转到www.baidu.com

# vi  /etc/nginx/nginx.conf

user nginx;
worker_processes 1;

events {
use epoll;
worker_connections 10240;
}

http {

server {
listen 80;
server_name www.qq.com;
rewrite ^/(.*)$ http://www.baidu.com/$1 last;
}
}

二、 同一个域名内URI转发  www.qq.com/xxx ------> www.qq.com/main/xxx

  根目录设置为/data/gg,将所有对根目录的请求都转发到根目录下的main目录,请求带过来的参数不变

#vi /etc/nginx/nginx.conf
user nginx;
worker_processes 1;

events {
use epoll;
worker_connections 10240;
}

http {

server {
listen 80;
server_name localhost;
location / {
root /data/gg;
}
rewrite ^/([a-z0-9]+)$ /main/$1 last;
}
}

时间: 2024-10-27 08:01:46

nginx做域名转发和uri转发的相关文章

linux下使用nginx做域名映射(安装,配置)

用tomcat做了个系统放到外网上,一大长串ip加端口号组成的url太不专业,所以用nginx来做域名映射精简一下. 安装: 第一步:从http://nginx.org上下载相应的版本nginx-1.10.1.tar.gz (或者wget http://nginx.org/download/nginx-1.10.1.tar.gz直接在Linux上用命令下载) 第二步:解压压缩包 tar -zxvf nginx-1.10.1.tar.gz; 第三步:进入文件夹 cd nginx-1.10.1: 由

linux 下安装node 并使用nginx做域名绑定

#1 ,home目录下 下载nodejs安装包,解压 并修改文件夹名称 wget https://nodejs.org/dist/v8.11.4/node-v8.11.4-linux-x64.tar.xz tar xvf node-v8.11.4-linux-x64.tar.xz mv node-v8.11.4-linux-x64 node-v8 # 2,做软连接配置node 命令 和 npm [[email protected]]# ln -s /home/wwwroot/node/node-

使用Nginx做转发和匹配替换

Nginx是一个强大的服务器软件,由于处理数据内容处于第七层协议应用层的原因,所以获取的数据也比较完整: Nginx做转发: 这个很简单,vi nginx.conf(编辑nginx配置文件) 添加location /public/sexy.jpg{//这个是你域名访问的图片 proxy_pass http://www.tmp.jpg;#这个是你要替换的图片路径(加上http头) } 保存退出,重启nginx 就可以看到原本项目 http://xxx/public/sexy.jpg变成了http:

Nginx做转发

二台服务器,服务器A做域名转外,所有外网的域名都到这台服务器A的80端口上,服务器B内网地址192.168.1.227, 上面IIS搭建了N多网站,以端口来区分,用以前的方式 配置转发 结果发现首页能打开,但是首页上的搜索按钮,后台代码用Response.Redirect跳转到其他页面后发现URL又自动带上端口地址, 经过一下午的问群里的朋友及不停搜索,终于解决!!!! 特此记录,以备不时之需!!!

(转)nginx做转发时,带'_'的header内容丢失

原本在测试环境测试通过的APP,今天准备切到线上环境做最后测试,结果发现了错误.查看日志发现是APP端发送的http请求中的header内容丢失了.那么代码没有改动,怎么平白无故会丢失头信息? 于是想到两个环境的不同之处在于线上是通过nginx做的代理转发,会不会是nginx搞的鬼?于是搜索"nginx request header 丢失",果不其然是这个问题,nginx对下划线的头信息做了限制,找到问题所在就等于完成了一大半,办法总比困难多.遂决定记录之. - 方法一:不用下划线 既

基于域名的7层转发的实现(NAT+反向代理)

在公司的实际办公网中,因为出口IP只有一个,要实现对外提供服务的话就必须得做端口映射,如果有多个服务要对外开放的话,这只能通过映射不同端口来区分,这在实际使用过程中非常的痛苦(记忆困难.一一对应关系也没有规律.访问的时候还得加端口),这个痛苦的问题用表格的形式来形象的描述如下: Public IP Public Port Number Internal IP Internal Port Number Note 1.1.1.1 80 192.168.1.10 80 service A 1.1.1.

nginx通过自定义header对象来转发

原文链接:https://www.cnblogs.com/xiao987334176/p/11263649.html 一,自定义的header头部 因为需要上线灰度发布,只要nginx接收到头部为: x_app:123456 就会跳转到另外一个url,比如: 1.0.0.10:8080 通过配置nginx 匹配请求头wx_unionid 来转发到灰度环境.核心:客户端自定义的http header,在nginx的配置文件里能直接读取到.条件:header必须用减号“-”分隔单词,nginx里面会

nginx1.9+做TCP代理(端口转发)

如题所示,nginx在1.9版本之后可以充当端口转发的作用,即:访问该服务器的指定端口,nginx就可以充当端口转发的作用将流量导向另一个服务器,同时获取目标服务器的返回数据并返回给请求者.nginx的TCP代理功能跟nginx的反向代理不同的是:请求该端口的所有流量都会转发到目标服务器,而在反向代理中可以细化哪些请求分发给哪些服务器:另一个不同的是,nginx做TCP代理并不仅仅局限于WEB的URL请求,还可以转发如memcached.MySQL等点到点的请求 实现步骤如下: (1)nginx

Zabbix 使用nginx做web服务

zabbix 使用nginx做web服务 逻辑图: yum  nginx装好,默认的default.conf文件直接backup掉,新建一个zabbx.conf文件, #如果有报错看下nginx_log 日志排错,zabbix3.0.4nginx转发依赖./php-fpm -v PHP 5.6.25,之前代理发现没用 报错也不是配置错误,查看官网发现是php-fpm版本问题. 10.10.254.25 zabbix_server服务器nginx配置: $ cat zabbix.conf  ser