首页 > 系统相关 >nginx配置文件生成完成批量配置

nginx配置文件生成完成批量配置

时间:2023-04-21 16:14:53浏览次数:29  
标签:String 批量 writer nginx proxy new port 模板 配置文件

1.创建模板

worker_processes  1;

events {
    worker_connections  1024;
}
stream {
	server {
        listen listen-port;
        proxy_pass ip:port;
		proxy_connect_timeout 2s;
    }
#foreach($port in [9000..9009])
    server {
        listen $port;
        proxy_pass ip:$port;
		proxy_connect_timeout 2s;
    }
#end
}

2.执行模板生成

public static String getTempContent(Dict dict, String content) throws IOException {

		// 映射模板对象
		final Map<String, Object> map = Convert.convert(new TypeReference<Map<String, Object>>() {
		}, dict);
		// 初始化并取得Velocity引擎
		VelocityEngine ve = new VelocityEngine();
		ve.init();
		// 取得velocity的模版内容, 模板内容来自字符传

		// 取得velocity的上下文context
		VelocityContext context = new VelocityContext(map);
		// 输出流
		StringWriter writer = new StringWriter();
		// 转换输出
		ve.evaluate(context, writer, "", content); // 关键方法

		System.out.println(writer.toString());
		return writer.toString();
	}
    public static void main(String[] args) {
        getTemplates();
    }

    public static void getTemplates() {
        String str = ResourceUtil.readUtf8Str("nginx_config.vm");
        try {
            String value = VelocityUtils.getTempContent(new Dict(),str);
            //System.out.println(value);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.29</version><!--$NO-MVN-MAN-VER$-->
        </dependency>

标签:String,批量,writer,nginx,proxy,new,port,模板,配置文件
From: https://www.cnblogs.com/jackson1024/p/17340756.html

相关文章

  • 【Nginx】valid_referers 参数绕坑指南
    Nginx提供了valid_referers参数用于检查url中refer参数的状态,首先看下官方配置:Syntax:valid_referersnone|blocked|server_names|string...;Default: —Context: server,location123能看到valid_referers总共有4种值可以使用,none、blocked、server_names、string。我......
  • NGINX根据客户端真实ip限制/referer限制
    最近后端服务被攻击,所有接口被疯狂调用,记录一次nginx应对攻击的方案,包括黑白名单、referer限定等。一、NGINX根据用户真实IP限源1、nginx日志打印在nginx.conf配置文件中的http模块打印log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'......
  • Nginx配置referer校验,实现简单的防盗链
    1、NginxReferer模块nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求。当一个请求头的Referer字段中包含一些非正确的字段,这个模块可以禁止这个请求访问站点。构造Referer的请求很容易实现,所以使用这个模块并不能100%的阻止这些请求。2、valid_referers指令......
  • 关于nginx如何对外部隐藏nginx版本号-以及Response Headers中的Server字段的nginx版本
    对于nginx作为web/http服务器发布了一个网站时,外部用户就可以通过浏览器进行访问到默认情况下,如果外部用户,访问了一个不存在的资源时,就会返回404错误,如下图所示这里我们可以发现在返回404错误时,下面居然也输出了web服务器(nginx)及其版本号1.22.1当然从 ResponseHeaders中......
  • Ant配置文件
    Ant配置文件详解:<!--Ant(another neat tool---另一个整洁的工具)--><?xml versinotallow="1.0"?><project default="dist" name="Project A"> <description>        一段描述信息,没有实际作用。    </description>    <!--property 元素相......
  • ingress nginx精确匹配
    如果要精确匹配/third/factory/device/healthcheck路径,可以在rules.http.paths中直接配置如下:-path:/third/factory/device/healthcheckpathType:Exactbackend:service:name:test-blavaplus-api-serviceport:number:80这里的关键是将p......
  • ingress nginx匹配某个固定路径
    这个Ingress资源使用的是NginxIngressController,要将path配置为/third/factory/device/healthcheck的location,可以在annotations中添加如下配置:nginx.ingress.kubernetes.io/rewrite-target:/$2然后在rules.http.paths中使用以下方式配置:-path:/third(/factory/de......
  • 批量清除 Jenkins Job 的构建信息
    要批量清除JenkinsJob的构建信息,您可以使用Jenkins的Groovy脚本执行器。请按照以下步骤操作:登录到Jenkins管理界面。点击左侧导航栏中的"管理Jenkins"。向下滚动并找到"脚本控制台",点击进入。在脚本控制台中,粘贴以下Groovy脚本(根据需要修改脚本中的Job......
  • Nginx的负载均衡策略
    Nginx的负载均衡策略个人博客地址:https://note.raokun.top拥抱ChatGPT,国内访问网站:https://www.playchat.top共六种:轮询、权重、ip_hash、least_conn、fair、url_hash1、轮询(RoundRobin)负载均衡策略:这是一种基本的负载均衡策略,将请求顺序转发给每个后端服务器,每个后端......
  • jad 命令行批量反编译
    下载地址:http://varaneckas.com/jad/ 解压放到jdkbin目录比如需求是要把org文件夹下及其子文件夹下所有的class文件反编译后放到src目录中,并保持package原始结构命令这样:jad-r-dsrc-sjava"org/**/*.class"-r表示保持原始package结构-dsrc表示output目录为当前的src目录-......