当前位置: 首页 > news >正文

企业建站系统java竞价托管外包服务

企业建站系统java,竞价托管外包服务,自己做的网站怎么加入微信支付,2023年2月14疫情最新消息文章目录 一、nginx常用的转发规则location 指令说明location转发使用 二、upstream负载均衡使用三、server_name使用四、其他常用配置限制请求类型处理静态资源目录遍历问题限制客户端使用的ip或者域名 五、需要注意的地方location /api1 探讨location ~ /api1 探讨&#xff0…

文章目录

  • 一、nginx常用的转发规则
    • location 指令说明
    • location转发使用
  • 二、upstream负载均衡使用
  • 三、server_name使用
  • 四、其他常用配置
    • 限制请求类型
    • 处理静态资源目录遍历问题
    • 限制客户端使用的ip或者域名
  • 五、需要注意的地方
    • location /api1 探讨
    • location ~ /api1 探讨(正则表达式)
    • $host 和 $remote_addr 的区别
  • 其他
    • Rewrite命令语法
    • springboot 打印请求路径
    • springboot打印controller被调用的方法
    • Controller获取请求头的内容
  • 参考文档

一、nginx常用的转发规则

location 指令说明

  • 该指令用于匹配 URL,语法如下:
指令说明
=用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。
~用于表示 uri 包含正则表达式,并且区分大小写。
~*用于表示 uri 包含正则表达式,并且不区分大小写。
^~用于不含正则表达式的uri前,要求Nginx服务器找到标识uri和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。
!~区分大小写不匹配。
!~*不区分大小写不匹配
/a普通前缀匹配,优先级低于带参数前缀匹配。
/任何请求都会匹配
  • 首先匹配 =
  • 其次匹配^~,
  • 其次是按文件中顺序的正则匹配
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

location转发使用

  • location /api1/
# 如果请求的是:http://localhost:80/api1,
# 转发形成的就会是:http://localhost:8001/location /api1/ {proxy_pass http://localhost:8001/;}       
  • location = /api1/ (精确匹配)
# 如果请求的是:http://localhost:80/api1,会被匹配到
# 转发形成的就会是:http://localhost:8001/
# 如果请求的是:http://localhost:80/api1/test,不会被匹配到,因为是精确匹配location = /api1/ {proxy_pass http://localhost:8001/;}
  • location ~ /api1 (正则表达式匹配)
# rewrite重写了请求路径,break不可省略,$1为正则匹配的内容
# ^/api1/(.*)$,在这个正则表达式中,$1为(.*)中的内容
# proxy_set_header的使用并不会失效
# 如果请求的是:http://localhost:80/api1,
# 转发形成的就会是:http://localhost:8001/location ~ /api1 {	rewrite ^/api1/(.*)$ /$1 break;proxy_set_header test001 $host:$server_port;proxy_set_header test002 $remote_addr;proxy_pass http://localhost:8001;}

二、upstream负载均衡使用

#server只能是ip+端口,不然启动报错upstream api{server localhost:9001;server localhost:9002;server localhost:9003;}
#proxy_pass里面的api对应的是upstream后面的apilocation /api/ {	proxy_pass http://api/;}

三、server_name使用

  • 看下列代码,端口一样,server_name不一样
  • 访问http://www.test001.com/api/test,进入第一个server,转发的实际为http://localhost:9001/test
  • 访问http://www.test002.com/api/test,进入第二个server,转发的实际为http://localhost:9002/test
  • 对于没有配置的server_name,默认进入第一个server处理
  • 访问http://127.0.0.1/api/test,进入第一个server,转发的实际为http://localhost:9001/test
  • 访问http://www.test003.com/api/test,进入第一个server,转发的实际为http://localhost:9001/test
#本机host配置
127.0.0.1 www.test001.com
127.0.0.1 www.test002.com
127.0.0.1 www.test003.com
    server {						#监听端口listen       80;		#服务名server_name  www.test001.com;		location / {root   html;index  index.html index.htm;}location /api/ {	proxy_pass http://localhost:9001/;}#500类型错误处理error_page   500 502 503 504  /50x.html;#映射文件50x.htmllocation = /50x.html {	#相对路径root   html;}}server {						#监听端口listen       80;		#服务名server_name  www.test002.com;		location / {root   html;index  index.html index.htm;}location /api/ {	proxy_pass http://localhost:9002/;}#500类型错误处理error_page   500 502 503 504  /50x.html;#映射文件50x.htmllocation = /50x.html {	#相对路径root   html;}}

四、其他常用配置

限制请求类型

  • 只允许GET和POST请求,写在server块
if($request_method !~ ^(GET|POST)$ ){return 403;
}

处理静态资源目录遍历问题

  • 过滤…/ |…\,写在server块
if( $request_uri ~* \.\.[\\\\/] ){return 404;
}

限制客户端使用的ip或者域名

  • 写在server块
#当写127.0.0.1的时候,使用localhost会报500,只能使用127.0.0.1
if ( $host !~ ^127.0.0.1 ){return 500;
}

五、需要注意的地方

  • 当使用 location ~ 的时候, proxy_pass结尾不能为 / ,不然会报错
  • access_log需要写在log_format后面,不然启动会报错。
  • access_log只能打印出请求的路径,无法打印出代理之后的路径。

location /api1 探讨

# 如果请求的是:http://localhost:80/api1,
# 转发形成的就会是:http://localhost:8001/api1location /api1 {proxy_pass http://localhost:8001;}        
# 如果请求的是:http://localhost:80/api1,
# 转发形成的就会是:http://localhost:8001/location /api1/ {proxy_pass http://localhost:8001/;}        
# 如果请求的是:http://localhost:80/api1,
# 转发形成的就会是:http://localhost:8001//location /api1 {proxy_pass http://localhost:8001/;}     

location ~ /api1 探讨(正则表达式)

#proxy_pass最多只能写到端口
#比如http://localhost:9001/,多个/报错
#比如http://localhost:9001/test,多个/test报错
#所以正则表达式的转发经常配合rewrite使用location ~ /api1 {	proxy_pass http://localhost:9001;}

$host 和 $remote_addr 的区别

  • $host 是客户端使用的ip或者域名,$remote_addr是客户端真正的ip
# $host为127.0.0.1
# $remote_addr为127.0.0.1
http://127.0.0.1/api/test# $host为www.test001.com
# $remote_addr为127.0.0.1
http://www.test001.com/api/test# $host为localhost
# $remote_addr为127.0.0.1
http://localhost/api/test# 假设我本机ip为192.168.1.27
# $host为www.baidu.com
# $remote_addr为192.168.1.27
https://www.baidu.com/s?wd=北京

其他

Rewrite命令语法

rewrite < regex > < replacement > [flag]
regex:正则表达式
replacement :跳转后的内容
flag:rewrite支持的flag标记
flag标记说明
标记说明
last相当于Apache的【L】标记,表示完成rewrite
break本条规则匹配完成即终止,不在匹配后面的任何规则
redirect返回302临时重定向,浏览器地址栏会显示跳转后的URL地址,爬虫不会更新url
permanent返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,爬虫更新url
ast和break比较
lastbreak
使用场景一般写在server和if中一般使用在location中
URL匹配不重质重写后的url匹配终止重写后的url匹配
#$1为(.*)
rewrite ^/api1/(.*)$ /$1 break;#$1为前面的(.*),$2为后面的(.*)
rewrite ^/(.*)/(.*)$ /$1 break;#当正则表达式和请求不匹配的时候,后面的/$1将不被执行,请求不会被rewrite替换
rewrite ^/apitest/(.*)$ /$1 break;

springboot 打印请求路径

logging:level:org.springframework: debug

springboot打印controller被调用的方法

logging:level:org:springframework:web:servlet:mvc:method:annotation:RequestMappingHandlerMapping: trace

Controller获取请求头的内容

HttpServletRequest request;
Enumeration<String> enumeration= request.getHeaderNames();

参考文档

  • springboot 打印请求的uri和请求参数
  • Servlet–HttpServletRequest获取请求信息(请求头、请求行、参数)详解
  • Nginx配置文件
  • Nginx之正则表达式、location匹配简介以及rewrite重写
  • nginx 正则路径匹配
  • Nginx的基本使用
http://www.zhongyajixie.com/news/65279.html

相关文章:

  • abc网站建设是什么意思今天最新新闻报道
  • brackets做网站教程天津百度推广公司
  • wordpress判断首页选择不同模板培训如何优化网站
  • 做网站的费用会计分录嘉兴网站建设制作
  • 河南省住房和建设厅网站产品怎样推广有效
  • 权重高的博客网站全自动引流推广软件下载
  • 沈阳犀牛云做网站怎么样哈尔滨seo优化
  • 路由器怎么做网站旺道seo软件
  • 国家允许哪几个网站做顺风车网络营销的发展现状如何
  • 典型营销型网站有哪些销售
  • 做外贸需要关注的网站有什么问题东莞网站设计公司排名
  • 8上的信息课做网站作业企业推广平台
  • 用书籍上的文章做网站更新网站推广优化怎么做最好
  • 北京朝阳网站建设公司大数据分析
  • 谷歌推广网站建设公司做网站需要多少钱
  • 网站被k申述镇江网站建设
  • 今日国际新闻最新快速优化网站排名的方法
  • 企业网站建设排名官网百度竞价排名平台
  • 怎么注册自己的微网站淘宝指数查询官网
  • 做网站开发需要的英语水平软文推广平台有哪些
  • 网站网站设计seo基础教程视频
  • 集团网站建设案例千锋教育培训多少钱
  • 做哈尔滨本地门户网站赚钱吗免费b站网站推广
  • html做网站需要服务器吗关键词推广哪家好
  • 怎么做外贸网站搜索引擎调词平台
  • 做视频采集网站违法吗百度游戏app下载
  • 电子商务网站开发课程竞价托管公司
  • 网页设计代码爱心免费下优化大师
  • 做网站插背景图片如何变大网络服务提供者知道或者应当知道
  • 深圳麒麟网站建设长尾关键词排名工具