项目中遇到了一个改写请求路径的问题,正好结合着Nginx的Http请求流程记录一下。一、问题场景location /Syrup/api {
         proxy_pass http://127.0.0.1:8080;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-03 17:50:24
                            
                                503阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文利用Nginx实现URL重写,本文使用Nginx与静态页面配合重写URL。  1.准备工作。结合本文场景,需要安装Nginx。1.1 关于Linux系统安装Nginx可以参考我的文章---(传送门)。2.什么是URL重写?URL重写是指将一个URL请求重新写成网站可以处理的另一个URL的过程。这样说可能不是很好理解,举个例子来说明一下,在开发中可能经常遇到这样的需求,比如通过浏览器请求的htt            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 20:18:48
                            
                                412阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录一,常用的 Nginx 正则表达式二,location1、location 分类2、location 匹配规则3、location 优先级4、location 示例5、实际网站使用中,至少有三个匹配规则定义三、rewrite1、rewrite 跳转实现2、rewrite执行顺序3、rewrite语法格式4、flag标记说明四、rewrite 示例1、基于域名的跳转2、基于客户端 IP 访问跳转            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-22 15:18:54
                            
                                303阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一.今天公司要配置https强制跳转公司网址:比如打开http://www.****.com.cn/,然后跳转到https://www.*****.com.cn/
网站架构:用户–https—> nginx代理 —http—→ tomcat二.配置nginx因为公司域名多个,一个域名一个配置文件,没办法一个个去配置,写个公用的文件引用1.先把证书拷贝到nginx目录mkdir cert2.配            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-16 14:36:29
                            
                                350阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.添加参数隐藏Nginx版本号
 
 
vim /application/nginx/conf/nginx.conf
#http标签下添加
    server_tokens off;
#测试
[root@cobbler ~]# curl -I 172.16.1.15
HTTP/1.1 200 OK
Server: nginx         #这里已经没有版本号了
 
 
 2.更改源码隐            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-22 15:28:14
                            
                                548阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前言:日常工作中经常要登录服务器,我们最常用的就是用ssh终端软件登录到服务器操作,假如有一天我们电脑没有安装软件,然后又不知道机器IP信息怎么办,确实会不够方便,今天分享下基于django实现前端页面免密码登录服务器操作。一、关键的技术1.WebSocketWebSocket是一种在单个TCP连接上进行全双工通讯的协议。WebSocket允许服务端主动向客户端推送数据。在WebSocket协议中            
                
         
            
            
            
             ReWrite^location从功能看 rewrite 和 location 似乎有点像,都能实现跳转,主要区别在于 rewrite 是在同一域名内更改获取资源的路径,而 location 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器。rewrite 对访问的域名或者域名内的URL路径地址重写 location 匹配访问路径,对访问的路径做访问控制或者代理            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 09:55:40
                            
                                819阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Nginx的匹配规则示例和说明
    先来看看一个示例location  = / {
  # 精确匹配 / ,主机名后面不能带任何字符串
  [ configuration A ] 
}
location  / {
  # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
  # 但是正则和最长字符串会优先匹配
  [ configuration            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-03 07:58:31
                            
                                287阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            语法规则: location [=|~|~*|^~] /uri/ { … }= 表示精确匹配,这个优先级也是最高的 
 ^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。nginx 不对 url 做编码,因此请求为/static/20%/aa,可以被规则 
 ^~ /static/ /aa 匹配到(注意是空格)。 
 ~表示区分大小写的正则匹配 
 ~* 表示不区分大小写的正            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-06 12:49:09
                            
                                319阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            url中隐藏“.php”的方法:首先找到并打开“nginx.conf”配置文件;然后添加内容“location / {ttry_files $uri $uri/ $uri.php$is_args$args;}”;最后保存修改即可。推荐:《PHP视频教程》现在很多人都喜欢用nginx作为Web服务器部署网站,nginx配置起来也是相当的方便,如果你的网站是PHP语言开发的话,下面我们教大家简单的一招            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 10:07:08
                            
                                514阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            nginx 反向代理,路径映射的过程是什么?如何配置路径映射规则?
location 路径匹配
匹配规则:
location 路径正则匹配:
符号说明
~正则匹配,区分大小写
~*正则匹配,不区分大小写
^~普通字符匹配,如果该选项匹配,则,只匹配改选项,不再向下匹配其他选项
=普通字符匹配,精确匹配
@定义一个命名的 location,用于内部定向,例如 error_page,try_files            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-12 13:24:56
                            
                                118阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            问题request.getRemoteAddr()取到的IP是Nginx的IP地址,并非客户端真实IP,通过request.getRequestURL()获取的域名、协议、端口都是Nginx访问Web应用时的域名、协议、端口,而非客户端浏览器地址栏上的真实域名、协议、端口。 例如在某一台IP为10.4.64.22的服务器上,Jetty或者Tomcat端口号为8080,Nginx端口号80,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-05 21:51:52
                            
                                294阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            rewrite支持使用 if,set,正则,文件和目录判断正则表达式匹配:符号  说明=    等值的比较~   与指定正则表达式模式匹配,区分字符大小写~*  与指定正则表达式模式匹配,不区分字符大小写!~  与指定正则表达式模式不匹配,区分字符大小写!~* 与指定正则表达式模式不匹配,不区分字符大小写文件及目录匹配:符号  说明-f ,!-f 判断指定路径的文件是否存在-d, !-d 判断指定            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-05 17:12:14
                            
                                273阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            配置文件主要格式main,event,httpworker_processes  3;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connec            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 23:10:52
                            
                                116阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Rewrite模块用来执行URL重定向。这个机制有利于去掉恶意访问的url,也有利于搜索引擎优化(SEO)Nginx使用的语法源于Perl兼容正则表达式(PCRE)库基本语法如下:^:必须以^后的实体开头,如^abc,必须以abc开头$:必须以$前的实体结尾,如abc$,必须以abc结尾.:匹配任意字符[]:匹配执行字符集内的任意字符,如[1-9],可以匹配1到9任何一个[^]:匹配任何不包括在指            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-03 11:12:41
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {     return 444;    }3.禁止某个目录执行脚本 ####比如网站上传目录,通常存放的都是静态文件,如果因程序验证不严谨被上传木马程序,导致网站被黑。以下规            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 22:09:41
                            
                                120阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. URL长度限制 
  在Http1.1协议中并没有提出针对URL的长度进行限制,RFC协议里面是这样描述的,HTTP协议并不对URI的长度做任何的限制,服务器端必须能够处理任何它们所提供服务多能接受的URI,并且能够处理无限长度的URI,如果服务器不能处理过长的URI,那么应该返回414状态码。 
 
  虽然Http协议规定了,但是 
 Web服务器和 
 浏览器对URI都有自己的长度限制            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-11 20:33:23
                            
                                219阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            详解Nginx Rewrite标记last和break的区别详解Nginx Rewrite标记last和break的区别**简介:**Nginx Rewrite中在rewrite标志位中last和break的功能都是终止当前location后续匹配,last会使用rewrite后的URL继续匹配后续的其他location,而break会使用rewrite后的URL发起HTTP请求。不会再继续匹配后            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 12:13:10
                            
                                71阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Nginx正则写法:location  = / {
  # 精确匹配 / ,主机名后面不能带任何字符串
  [ configuration A ] 
}
location  / {
  # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
  # 但是正则和最长字符串会优先匹配
  [ configuration B ] 
}
location /documents/ {
  # 匹            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 09:38:28
                            
                                1050阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1. 语法规则说明= 开头表示精确匹配;
^~ 开头表示uri以某个常规字符串开头,理解为匹配url路径即可(非正则);
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配;
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则;
/ 通用匹配,任何请求都会匹配到。2. 优先级说明等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他location的匹配            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-18 20:26:54
                            
                                588阅读