[转帖]nginx实现内容重定向的两种方式:rewrite和反向代理

nginx,实现,内容,重定向,两种,方式,rewrite,反向,代理 · 浏览次数 : 0

小编点评

**第一种:rewrite   更多参考另一个blog** ```nginx listen 80; server_name cnblogs.linuxds.com; access_log /var/log/nginx/cnblogs.access.log main; error_log /var/log/nginx/cnblogs.error.log warn; location / { if ($host = 'cnblogs.linuxds.com') { rewrite ^/(.*) http://www.cnblogs.com permanent; } } ``` **第二种:反向代理** ```nginx location /abc/ { proxy_pass http://localhost:8101; } location /abc/ { proxy_pass http://localhost:8101/; } ``` **区别:** * **rewrite**重定向的是针对请求路径的,当访问http://cnblogs.linuxds.com/index/1.html时,重定向至http://www.cnblogs.com。 * **反向代理**则是针对整个请求,当访问http://myip/abc/cc/1.html时,它会转发到http://localhost:8101/abc/cc/1.html。 **总结:** 使用**rewrite**重定向可以实现动态的URL重定向,而使用**反向代理**可以实现静态的URL重定向。

正文

第一种:rewrite   更多参考另一个blog

按照常规理解,实现重定向就是要用rewrite来实现,例如demo:

  1. [root@nginx01 ~]# vi /etc/nginx/conf.d/rewrite01.conf
  2. server {
  3. listen 80;
  4. server_name cnblogs.linuxds.com;
  5. access_log /var/log/nginx/cnblogs.access.log main;
  6. error_log /var/log/nginx/cnblogs.error.log warn;
  7. location / {
  8. if ($host = 'cnblogs.linuxds.com') {
  9. rewrite ^/(.*) http://www.cnblogs.com redirect;
  10. }
  11. }
  12. }
  13. 配置解释:结合if指令来对nginx请求进行判断,若访问http://cnblogs.linuxds.com/index/1.html,即$host = 'cnblogs.linuxds.com' 的时候,进行重定向跳转,重定向至 http://www.cnblogs.com。
  14. 使用rewrite重定向,浏览器链接是会发生变化:http://www.cnblogs.com
  15. 后缀index/1.html 是没有跟上的

第二种:反向代理
有些场景需要内容重定向到另外一个url, 但是链接保持不变,这时候就可以利用反向代理配置来达到目的。cc/1.html 是不会变的

  1. location /abc/ {
  2. proxy_pass http://localhost:8101;
  3. }
  4. 请求 http://myip/abc/cc/1.html 实际请求 http://localhost:8101/abc/cc/1.html
  5. 后缀是不变的
  6. location /abc/ {
  7. proxy_pass http://localhost:8101/;
  8. }
  9. 请求 http://myip/abc/cc/1.html 实际请求 http://localhost:8101/cc/1.html
  10. 后缀是不变的

与[转帖]nginx实现内容重定向的两种方式:rewrite和反向代理相似的内容:

[转帖]nginx实现内容重定向的两种方式:rewrite和反向代理

第一种:rewrite 更多参考另一个blog 按照常规理解,实现重定向就是要用rewrite来实现,例如demo: [root@nginx01 ~]# vi /etc/nginx/conf.d/rewrite01.confserver { listen 80; server_name cnblog

[转帖]nginx实现内容重定向的两种方式:rewrite和反向代理

第一种:rewrite 更多参考另一个blog 按照常规理解,实现重定向就是要用rewrite来实现,例如demo: [root@nginx01 ~]# vi /etc/nginx/conf.d/rewrite01.confserver { listen 80; server_name cnblog

[转帖]Nginx设置目录浏览模式

https://www.cnblogs.com/shanfeng1000/p/16259268.html Nginx除了可以实现反向代理外,还有个实用的功能,那就是目录浏览,它可以很方便的让我们查看某个目录下的文件内容,并可以选择性的下载。 启用目录浏览 一般的,我们可以创建一个demo.conf配

[转帖]基于 Nginx 实现 10万+ 并发,Linux 内核优化

来源:http://t.cn/EyQTMwG 由于默认的Linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,是的Nginx可以拥有更高的性能; 在优化内核时,可以做的事情很多,不过,我们通常会根据业务特点来进行调整,当Nginx作

[转帖]Nginx Ingress 高并发实践

概述 Nginx Ingress Controller 基于 Nginx 实现了 Kubernetes Ingress API,Nginx 是公认的高性能网关,但如果不对其进行一些参数调优,就不能充分发挥出高性能的优势。之前我们在 Nginx Ingress on TKE 部署最佳实践 一文中讲了

[转帖]Nginx优化与防盗链

目录 一、配置Nginx隐藏版本号1、第一种方法修改配置文件2、第二种方法修改源码文件,重新编译安装 二、修改Nginx用户与组三、配置Nginx网页缓存时间四、实现Nginx的日志分割五、配置Nginx实现连接超时六、更改Nginx运行进程数七、配置Nginx实现网页压缩功能八、配置Nginx防盗

[转帖]nginx如何实现负载均衡、限流、缓存、黑白名单和灰度发布

https://zhuanlan.zhihu.com/p/464491494 挺好的文章. nginx负载均衡配置 1.负载均衡配置 http { upstream real_server { server 192.168.1.100:8082 weight=1; #轮询服务器和访问权重 serve

[转帖]使用nginx的proxy_store缓存文件加速访问速度

https://www.qiansw.com/using-nginxs-proxystore-cache-file-to-accelerate-access-speed.html nginx的proxy_store可以将后端服务器的文件暂存在本地. 基于此,可以实现nginx的缓存后端服务器文件,加

[转帖]nginx的ip_hash算法

概念 根据用户请求的ip,利用算法映射成hash值,分配到特定的tomcat服务器中。主要是为了实现负载均衡,只要用户ip固定,则hash值固定,特定用户只能访问特定服务器,解决了session的问题。 源码分析 ip_hash算法的处理代码位于src\http\modules\ngx_http_u

[转帖]Nginx 40 问~~~

https://zhuanlan.zhihu.com/p/485159477 Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国