• SpringBoot实现反向代理


    第一步:相关依赖

    <dependency>
        <groupId>org.mitre.dsmiley.httpproxy</groupId>
        <artifactId>smiley-http-proxy-servlet</artifactId>
        <version>1.7</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version>
    </dependency>

    第二步:配置文件

    # 代理的本地路由规则
    proxy.servlet_url: /api/*
    # 要代理的地址
    proxt.target_url: http://www.baidu.com

    第三步:

    import com.google.common.collect.ImmutableMap;
    import org.mitre.dsmiley.httpproxy.ProxyServlet;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
     
    import javax.servlet.Servlet;
    import java.util.Map;
     
    /**
     * @ClassName: SolrProxyServletConfiguration
     * @Description: 反向代理
     * @author: 47
     * @date: 2020年03月24日 12:11
     */
    @Configuration
    public class SolrProxyServletConfiguration {
        /**
         * 读取配置文件中路由设置
         */
        @Value("${proxy.servlet_url}")
        private String servletUrl;
        /**
         * 读取配置中代理目标地址
         */
        @Value("${proxy.target_url}")
        private String targetUrl;
     
        @Bean
        public Servlet createProxyServlet(){
            // 创建新的ProxyServlet
            return new ProxyServlet();
        }
     
        @Bean
        public ServletRegistrationBean proxyServletRegistration(){
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(createProxyServlet(), servletUrl);
            //设置网址以及参数
            Map<String, String> params = ImmutableMap.of(
                    "targetUri", targetUrl,
                    "log", "true");
            registrationBean.setInitParameters(params);
            return registrationBean;
        }
    }

    第四步:测试效果

    访问本地请求localhost:/api,可以看到已经代理到我们的目标地址了百度首页了

  • 相关阅读:
    VS的ncb、pdb文件分析
    理解First Chance和Second Chance避免单步调试
    Visual Studio调试之符号文件
    Visual Studio调试之断点技巧篇补遗
    Visual Studio调试之断点技巧篇
    不能设置断点的检查步骤
    调试术语
    Visual Studio调试之断点基础篇
    Visual Studio调试之断点进阶篇
    复制
  • 原文地址:https://www.cnblogs.com/47Gamer/p/13852491.html
Copyright © 2020-2023  润新知