如何为WSO2 Api Manager(admin / gw /其他组件)禁用HTTPS? 我们希望在我们的前端负载平衡器上进行SSL终止 - 而不是终端WSO2产品。如果我访问端口9763,我将被重定向到9443。 我们使用docker-images运行2.1.0。
答案 0 :(得分:2)
您必须执行以下操作,
转到$ WSO2_HOME / repository / conf并打开carbon.xml,然后 取消注释
<EnableHTTPAdminConsole>true</EnableHTTPAdminConsole>
禁用安全cookie参数 $ WSO2_HOME / repository / conf / tomcat / carbon / WEB-INF / web.xml文件为 好。
<session-config>
<cookie-config>
<secure>false</secure>
</cookie-config>
</session-config>
答案 1 :(得分:1)
假设David的系统配置不会引入以下安全问题。 (如果负载均衡器和WSO2产品在同一个专用网络或VPC中,则不应存在其他安全问题)
注意:以下方法仅使用单租户(超级租户)方案进行测试。
使用以下内容替换repository / deployment / server / jaggeryapps / store / site / themes / wso2 / templates / user / login / redirector.jag中的内容。
<%
include("/jagg/jagg.jag");
var site = require("/site/conf/site.json");
var tenant = jagg.getTenantDomain();
var queryString = "";
session.put("showLogin", "true");
session.put("redirectToHTTPS", jagg.getHttpsUrl("/site/pages/login.jag")+queryString);
response.sendRedirect(jagg.getHttpsUrl("/site/pages/login.jag") + queryString);
%>
替换repository / deployment / server / jaggeryapps / store / jagg / jagg.jag中的getHttpsUrl函数定义
var getHttpsUrl = function(path, parameters){
var hostname = "";
var requestSegments = getRequestSegments();
var protocol = "https://";
mod = jagg.module("manager");
var requestUrl = request.getRequestURL();
if(requestUrl.indexOf("https://") != -1 ){
hostname = mod.getHTTPsURL();
hostname = hostname.replace("https://","");
} else if (requestUrl.indexOf("http://") != -1 ) {
hostname = mod.getHTTPURL();
hostname = hostname.replace("http://","");
protocol = "http://";
}
// if the site is fronted by a proxy server
if(isReverseProxyEnabled()){
hostname = site.reverseProxy.host ;
//if a custom https port is used
if(site.reverseProxy.hosts_port){
hostname = hostname + ":" + site.reverseProxy.hosts_port;
}
}
return protocol + hostname + url(path, parameters);
}
库/部署/服务器/ jaggeryapps /发行商/网站/主题/ WSO2 /模板/用户/登录/ template.jag
更换零件
<% if(request.isSecure()){
if(jagg.getUser() != null){
response.sendRedirect('index.jag');
}
%>
带
<% if(true){
if(jagg.getUser() != null){
response.sendRedirect('index.jag');
}
%>
注意:安全性完全取决于系统架构。另外,上述配置是独立的。如果您需要让https访问所有组件,那么请执行所有操作。对于特定的配置,单独的配置应该有效。
希望它有所帮助。
答案 2 :(得分:0)
对于5.10.0和Windows 10版本,
#1打开“ C:\ Program Files \ WSO2 \ Identity Server \ 5.10.0 \ repository \ resources \ conf \ default.json”
#2更改三个字段
来自
"transport.https.properties.scheme": "https",
"transport.https.properties.secure": "true",
"transport.https.properties.SSLEnabled": "true",
到
"transport.https.properties.scheme": "http",
"transport.https.properties.secure": "false",
"transport.https.properties.SSLEnabled": "false",
#3启动服务器批处理wso2server.bat
#4打开浏览器http:// localhost:9443 /