1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
一、输入子目录跳转
 
复制代码
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;
      }
 
    }
复制代码

 转自:https://www.cnblogs.com/wuling129/p/5208021.html

posted @   mofy  阅读(173)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2015-03-04 kali安装vmware tools
点击右上角即可分享
微信分享提示