linux

使用Nginx流量代理https站点转发

星期五, 八月 18th, 2023 | computer, linux | 没有评论

网上找了一圈,终于找到一个可用的,配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
server
      {
        listen       443;
        server_name proxypay.xx.com;
 
        ssl on;
        ssl_certificate     /etc/nginx/1_proxypay.xx.com_bundle.crt;
        ssl_certificate_key /etc/nginx/2_proxypay.xx.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
 
 
        location / {
            proxy_pass https://pay.xx.com/;
            proxy_ssl_certificate     /etc/nginx/1_pay.xx.com_bundle.crt;
            proxy_ssl_certificate_key /etc/nginx/2_pay.xx.com.key;
        }
   }

Tags:

最长公共子串问题的java版计算

星期三, 五月 17th, 2023 | algorithm-learn, JAVA-and-J2EE, linux | 没有评论

1.最长公共子串问题
【题目】给定两个字符串str1和str2,返回两个字符串的最长公共子串。

【举例】str1="1AB2345CD",str2="12345EF",返回"2345"。
【要求】如果 str1 长度为 M,str2 长度为N,实现时间复杂度为 O(M×N),额外空间复杂度为 O(1)的方法。
【难度】3星

/**
 * 
 * 1.最长公共子串问题 【题目】给定两个字符串str1和str2,返回两个字符串的最长公共子串。
 * 【举例】str1="1AB2345CD",str2="12345EF",返回"2345"。 【要求】如果 str1 长度为 M,str2 长度为
 * N,实现时间复杂度为 O(M×N),额外空间复杂度为 O(1)的方法。 【难度】3星
 * 
 * @author sara
 *
 */
public class MaxSubStr {
 
	public static void main(String[] args) {
		String str1="1AB2345CD",str2="12345EF";
		String str = getMaxSub(str1,str2);
		System.out.println(str);
	}
 
	public static String getMaxSub(String s1, String s2) {
		String sStr = s1, mStr = s2;
		if (s1.length() > s2.length()) {
			sStr = s2;
			mStr = s1;
		}
		String str = "";
		for (int i = 0; i < sStr.length(); i++) {
			for (int j = 1; j < sStr.length() - i; j++) {
				if (mStr.contains(sStr.substring(i, i + j)) && j > str.length()) {
					str = sStr.substring(i, i + j);
				}
			}
		}
		return str;
	}
 
	public static void getDp(char[] str1, char[] str2) {
 
	}
 
}

Tags:

linux、centos等配置不输入密码切换sudo指令

星期二, 五月 16th, 2023 | JAVA-and-J2EE, linux | 没有评论

使用 pkexec 安全配置指定用户不输入密码切换sudo su指令

1.pkexec su可进入你的root

pkexec visudo 进入visudo命令
直接编辑修改

ctrl + x 保存退出

编辑的也是此文件,在对应的用户前面加上NOPASSWD即可
在/etc/sudoers文件

sa ALL=(ALL) NOPASSWD:ALL

2.小问题修复 为了能编辑/etc/sudoers 执行给了777权限

出现如下错误

sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

修复此错误:

 
pkexec chmod 0440 /etc/sudoers

Tags: ,

基于phantomjs的截图优化JS信息

星期三, 四月 5th, 2023 | computer, JAVA-and-J2EE, linux | 没有评论

phantomjs是比较老的一种模拟抓取及截图,这个是以前处理截图的一种优化js信息做个留档

以后应该是不用了

img.js和rasterize.js两个文件

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
var page = require('webpage').create(), system = require('system'), address, output, size;
 
if (system.args.length < 3 || system.args.length > 5) {
    phantom.exit(1);
} else {
    address = system.args[1];
    output = system.args[2];
    //定义宽高
   /* page.viewportSize = {
        width : 1024,
        height : 768
    };*/
    page.open(address, function(status) {
        var bb = page.evaluate(function() {
            return document.getElementsByTagName('html')[0].getBoundingClientRect();
        });
        page.clipRect = {
            top : bb.top,
            left : bb.left,
            width : bb.width,
            height : bb.height
        };
        window.setTimeout(function() {
            page.render(output);
            page.close();
            console.log('渲染成功...');
            console.log(address);
            phantom.exit();
        }, 1000);
    });
}

› Continue reading

Tags:

datart更新到jdk17及springboot2.7.4版本执行调整

星期日, 十月 16th, 2022 | JAVA-and-J2EE, linux | 没有评论

datart简介:
新一代数据可视化开放平台,支持报表、仪表板、大屏、分析和可视化数据应用的敏捷构建

对应文档地址:https://running-elephant.gitee.io/datart-docs/docs/

GIT地址:https://gitee.com/running-elephant/datart/releases
https://github.com/running-elephant/datart/releases

当前使用版本 datart-1.0.0-rc.1,即此刻master版本

尝试使用jdk17进行编译,使用SpringBoot2.7.4进行parent迁移,修改如下可以比较完美的升级过来.

1.更换 swagger版本,移除springfox相关maven

 
<dependency>
			<groupid>io.springfox</groupid>
			<artifactid>springfox-boot-starter</artifactid>
			<version>3.0.0</version>
		</dependency>

2.引入nashorn的maven,在jdk17中已经移除

<dependency>>
			<groupid>org.openjdk.nashorn</groupid>
			<artifactid>nashorn-core</artifactid>
			<version>15.4</version>
		</dependency>

3.BaseService 启动延迟加载accessLogService服务类

 
 @Autowired
    public void setAccessLogService(@Lazy AsyncAccessLogService accessLogService) {
        this.accessLogService = accessLogService;
    }

4.更改引用包

import org.openjdk.nashorn.internal.parser.TokenType;
import org.openjdk.nashorn.api.scripting.NashornScriptEngineFactory;
import org.apache.calcite.sql.parser.impl.SqlParserImpl;

5.更换路由匹配模式

spring.mvc.pathmatch.matching-strategy=ant_path_matcher

› Continue reading

Tags: ,

Nginx解决http host头攻击及Method漏洞

星期一, 十月 10th, 2022 | computer, JAVA-and-J2EE, linux | 没有评论

一、HTTP Host头攻击漏洞解决
检测应用是否在请求目标站点时返回的URL是直接将Host头拼接在URI前。

解决方法:验证host

server {
  listen 80;
  server_name 127.0.0.1 192。168.1.8 xxx.com;
  if ($http_Host !~* ^192.168.1.8|127.0.0.1|xx.com$)
  {
    return 403;
  }
}

二、 HTTP Method非POST和GET方式击漏洞解决
尽量用get和post的api的应用,禁用OPTIONS

解决方案:在nginx的server中配置,只允许GET、POST、PUT、DELETE 类型请求通过,其余不安全的请求方式返回403状态码,代码如下。

if ($request_method !~* GET|POST|PUT|DELETE) {
  return 403;
}

Tags:

解决yum安装docker慢,更换阿里源

星期五, 九月 16th, 2022 | JAVA-and-J2EE, linux | 没有评论

1、yum install -y yum-utils
2、yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、yum install docker-ce

Tags:

设置系统及myslq时区信息,避免程序时间不配置

星期五, 七月 29th, 2022 | JAVA-and-J2EE, linux | 没有评论

起因程序用了 date 做查询判断,因系统及mysql不一致,导致插入到数据库的时间和系统时间有差距

造成查询失误,重复插入的问题,故需要调成一致即可.

timedatectl set-timezone "America/New_York"
 
##在[mysqld]区域中加上
vim /etc/my.cnf 
default-time_zone = '-4:00'
###或者##
default-time_zone = 'America/New_York'
 
#/etc/init.d/mysqld restart ##重启mysql使新时区生效

Tags: ,

关于如何解决mysql库名大写导致大小写敏感参数报错的问题

星期一, 七月 25th, 2022 | linux | 没有评论

网上很多都是说明mysql表大小写参数的控制,如果库名是大写,调整此参数会造成找不到数据库,切记.

调整方法:调整成敏感,再都转换成小写部分.

lower_case_table_names

表示表名是否大小写敏感,可以修改。

lower_case_table_names = 0时,mysql会根据表名直接操作,大小写敏感。

lower_case_table_names = 1时,mysql会先把表名转为小写,再执行操作。

注意此处有一个大问题

当设置了大小写不敏感的时候。。。此时库名是大写的。。。会产生找不到库的错误

这是因为 设置大小写不敏感 mysql去找库的时候 就会变成小写的名字去找。。。

然而 此时 数据目录中 数据库目录 还是大写的。。此时就报错了。。。

Tags:

zip命令行加解密文件夹及文件

星期五, 七月 22nd, 2022 | computer, linux | 没有评论

不加密:

zip -r t.zip t

加密:

zip -r -P'密码' t.zip t

解密(不论是否加密都一样)

unzip t.zip

如果是加密文件,之后会输入密码,当然也可以一步到位:

unzip -P'密码' t.zip

Search

相关文章

文章分类

Links

Meta