日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了SpringBoot:重定向和反向代理的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我在DMZ中有一個SpringBoot和SpringMVC內部應用程序(內部意思是通過防火墻向Internet隱藏)和一個公共身份驗證(OAuth2)服務。

我正在從內部區域的客戶端訪問登錄頁面。
該頁面有一個登錄按鈕。當我按下它時,我將客戶端轉發到身份驗證服務器(在DMZ中),我只能通過代理訪問該服務器。

我嘗試設置了VM環境變量:

-Dhttp.proxyHost=xx -Dhttp.proxyPort=yy -Dhttp.proxySet=true

并在System.properties

中設置它們

System.setProperty("http.proxyHost", "http://xx");
System.setProperty("http.proxyPort", "xx");
System.setProperty("http.nonProxyHosts", "localhost|127.0.0.1");

但兩者都無效。

我還嘗試定義了一個SimpleClientHttpRequestFactoryBean:

<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/util 
   http://www.springframework.org/schema/util/spring-util.xsd">

    <bean id="requestFactory"
        class="org.springframework.http.client.SimpleClientHttpRequestFactory">
        <property name="proxy">
            <bean id="proxy" class="java.net.Proxy">
                <constructor-arg>
                    <util:constant static-field="java.net.Proxy.Type.HTTP" />
                </constructor-arg>
                <constructor-arg>
                    <bean class="java.net.InetSocketAddress">
                        <constructor-arg value="xx" />
                        <constructor-arg value="yy" />
                    </bean>
                </constructor-arg>
            </bean>
        </property>
    </bean>

</beans>

不再成功。

問題

如何配置Spring以代理我的重定向?

謝謝!

推薦答案

按如下方式工作(請參閱restTemplateProxy)

private final String server = "xx";
private final int port = yy;
private final SimpleClientHttpRequestFactory clientHttpReq = new SimpleClientHttpRequestFactory();
private final Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(server, port));
private RestTemplate restTemplateProxy  = null;

{
    clientHttpReq.setProxy(proxy);
    restTemplateProxy = new RestTemplate(clientHttpReq);
}

@RequestMapping(value = "getLightToken", method = RequestMethod.GET)
private String getLightToken(Model model) throws JsonProcessingException, IOException {

    /* Header */
    headers.clear();
    headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

    /* Body */
    MultiValueMap<String, String> body = new LinkedMultiValueMap<String, String>();     
    body.add(CLIENT_ID.key, CLIENT_ID.val);
    body.add(CLIENT_SECRET.key, CLIENT_SECRET.val);
    body.add(GRANT_TYPE.key, GRANT_TYPE.val);
    body.add(SCOPE.key, SCOPE.val);

    /* Set the body and header of the request  */
    HttpEntity<?> request = new HttpEntity<>(body, headers);

    /* Request Authorisation */
    ResponseEntity<String> response = restTemplateProxy.exchange(BASE_URL + TOKEN_URI, HttpMethod.POST, request, String.class);

    return response.getBody();
}

這篇關于SpringBoot:重定向和反向代理的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:SpringBoot 代理 重定向
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定