nginx根据条件跳转+跳转规则
好的参考博文:
自己写的时候参考这两个
Nginx 伪静态Rewrite,重定向Location配置总结(转)
一、输入子目录跳转
location /templets {
proxy_pass http://testServer/templets/;
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;
}
location / {
proxy_pass http://myServer;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
当nginx主机输入 $host/templets 时会跳转进入
bb.bb.bb.bb:80;(可为其他web应用服务器ip)
upstream myServer {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的Squid开启3128端口
server xx.xx.xx.xx:80;
}
upstream testServer {
server bb.bb.bb.bb:80;
}
二、根据条件跳转
server {
listen 80;
server_name www.xx.com;
server_name www.xx.com.cn;
server_name www.xx.net;
server_name www.xx.net.cn;
if ( $host != 'www.xx.com' ) #如果用户输入的不是 https://www.xx.com 则转换成 https://www.xx.com/后缀 保证永远是 com 其他域名跳转到 .com ssl只需要申请一个就行
{
rewrite ^(.*)$ https://www.xx.com$1 permanent;
}
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
rewrite ^(.*)$ https://$host$1 permanent; # http 强制转 https 这个不可少少了有时会报错无法转换成 https 和上面的转换缺一不可
..............
..............
}
三、公司要求 news 二级目录跳转到另外一个 主机 但是 资源放在 当前主机二级目录 templets 下,而且当前主机配置ssl 所有http需要转成 https ,而news 的目标主机是 http
配置如下:
#设定负载均衡的服务器列表
upstream myServer {
#weigth参数表示权值,权值越高被分配到的几率越大
#本机上的apache开8080端口
server 127.0.0.1:8080;
# ip_hash;
}
upstream 3CMSServer {
server 目标ip:80;
}
server {
listen 80;
server_name www.xxx.com;
server_name www.xxx.com.cn;
server_name www.xxx.net;
server_name www.xxx.net.cn;if ( $host != 'www.xxx.com' )
{
rewrite ^(.*)$ https://www.xxx.com$1 permanent; #强制域名
}
if ( $request_uri !~* '/news|/templets' )
{
rewrite ^(.*)$ https://$host$1 permanent; # http 强制转 https
}
location ~ ^/NginxStatus/ {
stub_status on;
access_log off;
}
rewrite https://www.xxx.com/shouce.html https://www.xxx.com/ permanent; # 这两个写的有错 强制转 http://www.xxx.com/shouce.html 到主页
rewrite https://www.xxx.net.cn/ https://www.xxx.com/ permanent;
location / {
proxy_pass http://myServer/;
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;
client_max_body_size 50m;
client_body_buffer_size 512k;
proxy_connect_timeout 1024;
proxy_send_timeout 960;
proxy_read_timeout 900;
proxy_buffer_size 128k;
proxy_buffers 32 128k;
proxy_busy_buffers_size 512k;
}
location /news {
proxy_pass http://3CMSServer/;
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;
}
location /templets {
proxy_pass http://3CMSServer/templets/;
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;
}
}
nginx根据条件跳转+跳转规则的更多相关文章
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- nginx二级域名配置自动跳转到一级域名
nginx二级域名配置自动跳转到一级域名 rewrite配置内容: if ($http_host !~ "^www.aaa.com$") { rewrite ^(.*) http: ...
- [转]Nginx伪静态配置和常用Rewrite伪静态规则集锦
Nginx伪静态配置和常用Rewrite伪静态规则集锦 作者: 字体:[增加 减小] 类型:转载 时间:2014-06-10 我要评论 伪静态是一种可以把文件后缀改成任何可能的一种方法,如果我想把ph ...
- Nginx if 条件判断
Nginx if 条件判断: 1.公司网站上线有这样的需求: 由于公司网站域名从http到https的转移,在测试阶段需要公司内部进行测试,公司内部局域网访问时强制访问加密的https服务,外部用户访 ...
- nginx多虚拟主机优先级location匹配规则及tryfiles的使用
nginx多虚拟主机优先级location匹配规则及tryfiles的使用 .相同server_name多个虚拟主机优先级访问 .location匹配优先级 .try_files使用 .nginx的a ...
- 域名ip自动跳转 跳转指定页面的js
域名ip自动跳转 跳转指定页面的js 为了应对百度审核,需要客户的网站在个别地区跳转到另一个页面,就搞到了这段代码,屡试不爽,超实用.下面把地址换成你要访问的网站url地址或者文件url地址即可.超实 ...
- Nginx 代理到Jetty 页面跳转端口改变问题
Nginx安装 Windows下部署Nginx只需下载安装包,解压启动服务器即可.下载官网:http://nginx.org/en/download.html 操作Nginx首先进入安装文件夹: 查看 ...
- nginx实现新老网站跳转(原URL不变)
新老网站实现跳转 原URL保持不变 通过手动添加cookie 匹配cookie的方法进行跳转第一步 进行添加if判断条件 if ( $query_string ~* "sr=pro" ...
- nginx配置访问xx.com跳转www.xx.com
二.在nginx里面配置 rewrite 规则.打开 Nginx.conf 文件找到server配置段:[以下是我的server配置段] 禁止IP地址访问 server{ listen 80 defa ...
随机推荐
- jdk、jre与jvm的区别与联系
为了学习数据库,重装了系统,之前前一直在用eclipse,现在准备换成myeclipse,这之前当然需要重新设置环境变量,顺手写下有关jdk.jre与jvm的区别与联系以供交流参考. 首先来说一下JD ...
- 原生javascript实现ajax,post参数
var json = { userid: userid, cid: cid, openid: openid, type: 1 }; // 原生ajax json = (function(obj){ / ...
- POJ 1037 DP
题目链接: http://poj.org/problem?id=1037 分析: 很有分量的一道DP题!!! (参考于:http://blog.csdn.net/sj13051180/article/ ...
- 浅谈Servlet(二)
1.forward(请求的转发)和redirect(重定向) 目的:都是为了把一个Servlet的功能,拆分到多个Servlet中,便于后续代码的维护. a.forward(请求转发) (1).如何在 ...
- C++基础知识梳理--C++的6个默认函数
C++有六个默认函数:分别是 1.default构造函数; 2.默认拷贝构造函数; 3.默认析构函数; 4.赋值运算符; 5.取值运算符; 6.取值运算符const; // 这两个类的效果相同 cla ...
- BZOJ 1058: [ZJOI2007]报表统计( 链表 + set )
这种题用数据结构怎么写都能AC吧...按1~N弄个链表然后每次插入时就更新答案, 用set维护就可以了... --------------------------------------------- ...
- pl/sql oracle
http://uule.iteye.com/blog/2061773(出处) 批量导入脚本: 打开一个command window > 输入@ > 它会让你选择要导入的文件 (自己要知道 ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- vs2013 cpu占用100%问题
是由于显卡驱动支持wpf有问题 更新驱动或设置里取消自动调节视觉效果 http://support.microsoft.com/kb/2894215
- 国内BI工具/报表工具厂商简介
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...