xx

Nginx——proxy_pass url 反向代理

北慕城南 提交于 2020-01-19 16:47:39
说到 Nginx 就不得不说 Nginx 的反向代理是多么的好用,一个指令 proxy_pass 搞定反向代理,对于接口代理、负载均衡很是实用,但 proxy_pass 指令后面的参数很有讲究。 在实际的应用中分为以下几种情况: 1.url 只是 host 这里指不包含 $uri ,如: http://host - √ https://host - √ http://host:port - √ https://host:port - √ http://host/ - x http://host:port/ - x 这时候 location 匹配的完整路径将直接透传给 url ,如: // 访问: / 后端: / // 访问: /api/xx 后端: /api/xx // 访问: /api/xx?aa 后端: /api/xx?aa location / { proxy_pass http://node:8080; } // 访问: /api/ 后端: /api/ // 访问: /api/xx 后端: /api/xx // 访问: /api/xx?aa 后端: /api/xx?aa // 访问: /api-xx?aa 后端: location /api/ { proxy_pass http://node:8080; } // 访问: /api/ 后端: /api/ // 访问:

Luogu P3638 [APIO2013]机器人

我只是一个虾纸丫 提交于 2020-01-18 19:50:42
(类似)斯坦纳树+DP \(f[l][r][i][j]\) 表示已经构成 \([l,r]\) 的机器人,并在点 \((i,j)\) 的最小代价。 预处理出 \(d[i][j][k]\) 表示在点 \((i,j)\) 方向为 \(k\) 时最终能够到达的点。 \(f[l][r][i][j]=\min(f[l][k][i][j],f[k+1][r][i][j])\) \(枚举k,f[l][r][X][Y]=\min(f[l][r][X][Y],f[l][r][i][j]+1),(X,Y)表示(i,j,k)最终到达的点\) spfa 要优化:用两个队列,一个存初始状态(先排完序再扔进去),一个存扩展出来的状态,每次取两个队头中较小的去扩展。 #include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<vector> #include<cstring> #define R register int using namespace std; namespace Luitaryi { inline int g() { R x=0,f=1; register char s; while(!isdigit(s=getchar())) f=s=='-'?-1:f; do x=x*10+(s^48);

【web安全深度剖析】笔记——上传漏洞

折月煮酒 提交于 2020-01-16 22:47:45
IIS6.0解析漏洞 当文件夹名命名为XX.asa或XX.asp时,文件夹中的所有文件都会被当做asp文件来执行 当文件命名为*.asp;1.jpg时,此文件会被当做asp文件来执行 WebDav漏洞:开启webdav后,可扩展move、copy、delete等HTTP方法,此时即可put一个a.txt写入一句话木马,并通过copy或move改名为xx.asp,这样即可轻松上传一个webshell。同样可以使用delete方法删除任意文件。 APACHE漏洞 Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后向前解析,直到碰为止,如果都不认识,则会暴露其源代码。比如:1.php.rar ,apache不认识rar后缀,就会解析成php文件。 PHP CGI解析漏洞 当在正常网页www.xx.com/1.jpg后面加上/xx.php时(xx.php文件不需要存在),1.jpg就会被当成PHP脚本来运行。 因为PHP的配置文件中cgi.if选项默认开启向前递归解析,当xx.php文件不存在时,就解析上一级文件,造成解析漏洞。 中国菜刀与一句话木马 往目标网站中加入一句话木马,然后你就可以在本地通过中国菜刀chopper.exe即可获取和控制整个网站目录 各语言的一句话代码 asp: <%eval request ("pass")%> aspx: <%@ Page

RabbitMq新建虚拟机

痞子三分冷 提交于 2020-01-16 05:10:10
#添加虚拟机 ./rabbitmqctl add_vhost XX #添加用户 ./rabbitmqctl add_user XX XX #分配角色 ./rabbitmqctl set_user_tags XX administrator #设置权限 ./rabbitmqctl set_permissions -p XX XX ".*" ".*" ".*" 来源: CSDN 作者: zhuwei_clark 链接: https://blog.csdn.net/zhuwei_clark/article/details/103983531

Linux启动tomcat带控制台

我是研究僧i 提交于 2020-01-16 01:34:59
Linux 下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin) 1,启动tomcat服务 方式一:直接启动 ./startup.sh 方式二:作为服务启动 nohup ./startup.sh & 方式三:控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务 解释: 通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为 linux 服务一直运行 通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务, 直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。 Linux下直接启动./startup.sh但是查看不到启动日志信息,通过ps –ef|grep tomcat查看,实际已经启动

一道面试题引发的对 Java 内存模型的一点疑问

情到浓时终转凉″ 提交于 2020-01-15 12:42:34
一道面试题引发的对Java内存模型的一点疑问 问题描述 如上图所示程序,按道理,子线程会通过 num++ 操作破坏 while 循环的条件,从而终止循环,执行最后的输出操作。但在我的多次运行中,偶尔会出现 while 循环一直不结束的场合。像我截图一样,程序一直不终止,JDK7、JDK8 均已试验,均能偶然触发。 回复 [西湖の风] :变量前加个 volatile。 [csyangchsh] :volatile 使用读写屏障强制刷新缓存,如果不加就由 CPU 决定何时刷新。 [sofkyle] :由 CPU 决定何时刷新,那么可以认为,终会有一个时机会去刷新,但是while卡在那一直不刷新。 [你假笨] :和 jit 也是有一定关系的,-Xint 设定解释执行,也可以只关闭 OSR 看看,-XX:-UseOnStackReplacement。 JVM STW 里的 no vm operation 是怎么发生的 问题描述 我们线上应用提供的服务接口突然超时(dubbo服务接口调用耗时最大限制1s),发现gc.log在对应的时间进入了STW,耗时1.526s查看对应的vm.log发现在相对饮的时间有一个no vm operation提示,请教下:no vm operation,这个类型vm具体在做什么操作啊?如何优化? 回复 [你假笨]: safepoint并不是一定要发生了某个VM

中移OneNET 云平台 >>> 一块ESP8266 的WiFi 定位之旅

こ雲淡風輕ζ 提交于 2020-01-14 08:55:05
前言 WiFi 定位功能是 OneNET 继基站定位之后最新推出的一项定位服务。(编稿时仍处于灰度测试阶段) 然后我有幸参与了WiFi 定位功能的灰度测试,测试成功,在此记录一下 开始 1)为设备开启WiFi 定位功能 WiFi 定位功能门户(编稿时处于半开放状态,官网不能查询到,直接点击下方链接进入): https://open.iot.10086.cn/develop/lbs/#/wifi/wifiab 登录OneNET 账户 创建好产品、设备。 开通WiFi 服务 2)上传数据 首先进入WiFi 定位开发文档: https://open.iot.10086.cn/doc/develop/lbs/book/wifi/introduce.html 可以看到: 要进行WiFi 定位,我们需要做三件事: 首先设备需要获取周边WiFi 数据并能够成功访问互联网 ; ESP8266 输入 AT+CWLAP 指令即可获取周边WiFi 信息: 然后将WiFi 数据信息上传到OneNET 平台 ; 我们需要向 $OneNET_LBS_WIFI 这个数据流上传规定格式的WiFi 信息数据点,平台收到数据点后,会将数据点转化为对应的经纬度信息。 $OneNET_LBS_WIFI : 字段名称 数据类型 字段 是否必填 移动用户识别码 String imsi 选填,移动用户识别码,可以提高精度

JVM调优参数设置?

二次信任 提交于 2020-01-14 00:05:19
-Xms20M   表示设置堆容量的最小值为20M,必须以M为单位 -Xmx20M   表示设置堆容量的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免堆自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高 -verbose:gc   表示输出虚拟机中GC的详细情况 -Xss128k   表示可以设置虚拟机栈的大小为128k -Xoss128k   表示设置本地方法栈的大小为128k。不过HotSpot并不区分虚拟机栈和本地方法栈,因此对于HotSpot来说这个参数是无效的 -XX:PermSize=10M   表示JVM初始分配的永久代的容量,必须以M为单位 -XX:MaxPermSize=10M   表示JVM允许分配的永久代的最大容量,必须以M为单位,大部分情况下这个参数默认为64M -Xnoclassgc   表示关闭JVM对类的垃圾回收 -XX:+TraceClassLoading   表示查看类的加载信息 -XX:+TraceClassUnLoading   表示查看类的卸载信息 -XX:NewRatio=4   表示设置年轻代:老年代的大小比值为1:4,这意味着年轻代占整个堆的1/5 -XX:SurvivorRatio=8   表示设置2个Survivor区:1个Eden区的大小比值为2:8

JVM常用命令参数

半腔热情 提交于 2020-01-13 01:11:34
(1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位  m:memory (2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。 (3)-verbose:gc 表示输出虚拟机中GC的详细情况 (4)-Xss128k 表示可以设置虚拟机栈的大小为128k  s:stack (5)-Xoss128k 表示设置本地方法栈的大小为128k。不过HotSpot并不区分虚拟机栈和本地方法栈(HotSpot此参数无效) (6)-XX:PermSize=10M 表示JVM初始分配的永久代的容量,必须以M为单位 (7)-XX:MaxPermSize=10M 表示JVM允许分配的永久代的最大容量,必须以M为单位,大部分情况下这个参数默认为64M (8)-Xnoclassgc 表示关闭JVM对类的垃圾回收 (9)-XX:+TraceClassLoading 表示查看类的加载信息 (10)-XX:+TraceClassUnLoading 表示查看类的卸载信息 (11)-XX:NewRatio=4 表示设置年轻代:老年代的大小比值为1:4,这意味着年轻代占整个堆的1/5 (12)-XX:SurvivorRatio=8 表示设置2个Survivor区:1个Eden区的大小比值为2:8,这个参数默认为8

Linux之搭建远程数据库[Ubuntu:全过程]

纵然是瞬间 提交于 2020-01-11 23:00:31
前言   由于近期,腾讯云服务器就要到期了,学生优惠即将失效了,所以准备将数据库和项目迁移到vultr上。然而,在使用nivicat连接mysql数据库的过程中,却屡次出现:Can't connect to MYSQL server on 'XX.XX.XX.XX'【10060 “Unknown error”】。   查阅网友的博客后,对方分析可能三个原因:     1 网络 [排除]    2 权限 。 mysql数据库登陆用户的权限不足。[经过下述步骤测试,排除] # 进入MYSQL数据库 XX@yy# sudo mysql -u root -p XX@yy# # 新建用户 mysql> CREATE user jack@'%';# 任意主机 mysql> SET PASSWORD FOR jack@'%'=PASSWORD('test'); mysql> grant all privileges on *.* to jack; mysql> FLUSH PRIVILEGES;# 更新mysql数据库系统的用户权限列表 # shell端登陆mysql by jack OK # navicat端登陆mysql by jack 继续报上述错误    3 防火墙   看来,只剩下这种可能了,我试了试,成了!   我先通过vultr云服务商的FireWall来配置防火墙的进入站端口