WSO2 APIM 3.0.0:安装证书后无法从/ publisher和/ devportal登录

问题描述 投票:0回答:1

我们已经安装了WSO2 API Manager版本:3.0.0,并且它在localhost和其他主机名上都可以正常工作,尽管它在地址栏上显示不安全网站。但是,当我们安装有效的CA签名证书并使用主密钥库详细信息更新deployment.toml文件时,它将在服务器启动时抛出以下错误

TID: [-1] [] [2020-05-14 19:40:56,552]  WARN {org.wso2.carbon.apimgt.gateway.throttling.util.KeyTemplateRetriever} - Failed retrieving throttling data from remote endpoint: hostname in certificate didn't match: <localhost> != <*.example.com> OR <*.example.com> OR <example.com>. Retrying after 15 seconds...
TID: [-1] [] [2020-05-14 19:40:57,425]  WARN {org.wso2.carbon.apimgt.gateway.jwt.RevokedJWTTokensRetriever} - Failed retrieving revoked JWT token signatures from remote endpoint: hostname in certificate didn't match: <localhost> != <*.example.com> OR <*.example.com> OR <example.com>. Retrying after 15 seconds...
TID: [-1] [] [2020-05-14 19:40:57,748]  WARN {org.wso2.carbon.apimgt.gateway.throttling.util.BlockingConditionRetriever} - Failed retrieving Blocking Conditions from remote endpoint: hostname in certificate didn't match: <localhost> != <*.example.com> OR <*.example.com> OR <example.com>. Retrying after 15 seconds...

<< [Note-在这里,由于隐私权政策,我在上述日志声明中用example替换了实际域名

服务器启动后,我们可以访问

管理控制台

/ devportal,但是当我们尝试从devportal中访问/ publisher或登录时,引发500错误。没有证书,并且在

deployment.toml

中对keystore.primary不变。without certificate使用证书并在

deployment.toml

中添加keystore.primarywith certificate当我们尝试从/ devportal访问/ Publisher或登录时,我们看到以下SSL错误

TID: [-1234] [publisher] [2020-05-15 19:12:43,562] ERROR {org.jaggeryjs.jaggery.core.manager.WebAppManager} - org.mozilla.javascript.WrappedException: Wrapped org.jaggeryjs.scriptengine.exceptions.ScriptException: javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname validation for name: localhost (<<http>>/META-INF/scripts/http.js#220) org.jaggeryjs.scriptengine.exceptions.ScriptException: org.mozilla.javascript.WrappedException: Wrapped org.jaggeryjs.scriptengine.exceptions.ScriptException: javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname validation for name: localhost (<<http>>/META-INF/scripts/http.js#220) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:587) at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:289) at org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:589) at org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:508) at org.jaggeryjs.jaggery.core.JaggeryServlet.doGet(JaggeryServlet.java:24) at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:352) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter.doFilter(ContentTypeBasedCachePreventionFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80) at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:100) at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:74) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:145) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) at org.wso2.carbon.tomcat.ext.valves.RequestCorrelationIdValve.invoke(RequestCorrelationIdValve.java:116) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:853) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: org.mozilla.javascript.WrappedException: Wrapped org.jaggeryjs.scriptengine.exceptions.ScriptException: javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname validation for name: localhost (<<http>>/META-INF/scripts/http.js#220) at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32) at org.jaggeryjs.rhino.<<http>>.META_INF.scripts.c0._c_anonymous_5(<<http>>/META-INF/scripts/http.js:220) at org.jaggeryjs.rhino.<<http>>.META_INF.scripts.c0.call(<<http>>/META-INF/scripts/http.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) at org.jaggeryjs.rhino.<<http>>.META_INF.scripts.c0._c_anonymous_7(<<http>>/META-INF/scripts/http.js:228) at org.jaggeryjs.rhino.<<http>>.META_INF.scripts.c0.call(<<http>>/META-INF/scripts/http.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:63) at org.jaggeryjs.rhino.publisher.services.login.c0._c_script_0(/publisher/services/login/idp.jag:35) at org.jaggeryjs.rhino.publisher.services.login.c0.call(/publisher/services/login/idp.jag) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091) at org.jaggeryjs.rhino.publisher.services.login.c0.call(/publisher/services/login/idp.jag) at org.jaggeryjs.rhino.publisher.services.login.c0.exec(/publisher/services/login/idp.jag) at org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:583) ... 50 more Caused by: org.jaggeryjs.scriptengine.exceptions.ScriptException: javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname validation for name: localhost at org.jaggeryjs.hostobjects.xhr.XMLHttpRequestHostObject.executeRequest(XMLHttpRequestHostObject.java:572) at org.jaggeryjs.hostobjects.xhr.XMLHttpRequestHostObject.send(XMLHttpRequestHostObject.java:549) at org.jaggeryjs.hostobjects.xhr.XMLHttpRequestHostObject.jsFunction_send(XMLHttpRequestHostObject.java:301) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126) ... 65 more Caused by: javax.net.ssl.SSLPeerUnverifiedException: SSL peer failed hostname validation for name: localhost at org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.verifyHostname(TLSProtocolSocketFactory.java:233) at org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.createSocket(TLSProtocolSocketFactory.java:186) at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at org.jaggeryjs.hostobjects.xhr.XMLHttpRequestHostObject.executeRequest(XMLHttpRequestHostObject.java:555) ... 72 more

这是我的

deployment.toml

文件[server] hostname = "example.com" node_ip = "127.0.0.1" #offset=0 mode = "single" #single or ha base_path = "${carbon.protocol}://${carbon.host}:${carbon.management.port}" #discard_empty_caches = false server_role = "default" [super_admin] username = "admin" password = "admin" create_admin_account = true [user_store] type = "database" [database.apim_db] type = "h2" url = "jdbc:h2:./repository/database/WSO2AM_DB;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE" username = "wso2carbon" password = "wso2carbon" [database.shared_db] type = "h2" url = "jdbc:h2:./repository/database/WSO2SHARED_DB;DB_CLOSE_ON_EXIT=FALSE" username = "wso2carbon" password = "wso2carbon" [keystore.primary] file_name = "keystore.jks" type = "PKCS12" password = "mypassword" alias = "1" key_password = "mypassword" [[apim.gateway.environment]] name = "Production and Sandbox" type = "hybrid" display_in_api_console = true description = "This is a hybrid gateway that handles both production and sandbox token traffic." show_as_token_endpoint_url = true service_url = "https://localhost:${mgt.transport.https.port}/services/" username= "${admin.username}" password= "${admin.password}" ws_endpoint = "ws://localhost:9099" wss_endpoint = "wss://localhost:8099" http_endpoint = "http://localhost:${http.nio.port}" https_endpoint = "https://localhost:${https.nio.port}" #[apim.cache.gateway_token] #enable = true #expiry_time = "900s" #[apim.cache.resource] #enable = true #expiry_time = "900s" #[apim.cache.km_token] #enable = false #expiry_time = "15m" #[apim.cache.recent_apis] #enable = false #[apim.cache.scopes] #enable = true #[apim.cache.publisher_roles] #enable = true #[apim.cache.jwt_claim] #enable = true #expiry_time = "15m" #[apim.cache.tags] #expiry_time = "2m" #[apim.analytics] #enable = false #store_api_url = "https://localhost:7444" #username = "$ref{super_admin.username}" #password = "$ref{super_admin.password}" #event_publisher_type = "default" #event_publisher_impl = "org.wso2.carbon.apimgt.usage.publisher.APIMgtUsageDataBridgeDataPublisher" #publish_response_size = true #[[apim.analytics.url_group]] #analytics_url =["tcp://analytics1:7611","tcp://analytics2:7611"] #analytics_auth_url =["ssl://analytics1:7711","ssl://analytics2:7711"] #type = "loadbalance" #[[apim.analytics.url_group]] #analytics_url =["tcp://analytics1:7612","tcp://analytics2:7612"] #analytics_auth_url =["ssl://analytics1:7712","ssl://analytics2:7712"] #type = "failover" #[apim.key_manager] #service_url = "https://localhost:${mgt.transport.https.port}/services/" #username = "$ref{super_admin.username}" #password = "$ref{super_admin.password}" #pool.init_idle_capacity = 50 #pool.max_idle = 100 #key_validation_handler_type = "default" #key_validation_handler_type = "custom" #key_validation_handler_impl = "org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler" #[apim.jwt] #enable = true #encoding = "base64" # base64,base64url #generator_impl = "org.wso2.carbon.apimgt.keymgt.token.JWTGenerator" #claim_dialect = "http://wso2.org/claims" #header = "X-JWT-Assertion" #signing_algorithm = "SHA256withRSA" #enable_user_claims = true #claims_extractor_impl = "org.wso2.carbon.apimgt.impl.token.DefaultClaimsRetriever" #[apim.oauth_config] #enable_outbound_auth_header = false #auth_header = "Authorization" #revoke_endpoint = "https://localhost:${https.nio.port}/revoke" #enable_token_encryption = false #enable_token_hashing = false [apim.devportal] url = "https://example.com:${mgt.transport.https.port}/devportal" #enable_application_sharing = false #if application_sharing_type, application_sharing_impl both defined priority goes to application_sharing_impl #application_sharing_type = "default" #changed type, saml, default #todo: check the new config for rest api #application_sharing_impl = "org.wso2.carbon.apimgt.impl.SAMLGroupIDExtractorImpl" #display_multiple_versions = false #display_deprecated_apis = false #enable_comments = true #enable_ratings = true #enable_forum = true [apim.cors] allow_origins = "*" allow_methods = ["GET","PUT","POST","DELETE","PATCH","OPTIONS"] allow_headers = ["authorization","Access-Control-Allow-Origin","Content-Type","SOAPAction"] allow_credentials = false #[apim.throttling] #enable_data_publishing = true #enable_policy_deploy = true #enable_blacklist_condition = true #enable_persistence = true #throttle_decision_endpoints = ["tcp://localhost:5672","tcp://localhost:5672"] #[apim.throttling.blacklist_condition] #start_delay = "5m" #period = "1h" #[apim.throttling.jms] #start_delay = "5m" #[apim.throttling.event_sync] #hostName = "0.0.0.0" #port = 11224 #[apim.throttling.event_management] #hostName = "0.0.0.0" #port = 10005 #[[apim.throttling.url_group]] #traffic_manager_urls = ["tcp://localhost:9611","tcp://localhost:9611"] #traffic_manager_auth_urls = ["ssl://localhost:9711","ssl://localhost:9711"] #type = "loadbalance" #[[apim.throttling.url_group]] #traffic_manager_urls = ["tcp://localhost:9611","tcp://localhost:9611"] #traffic_manager_auth_urls = ["ssl://localhost:9711","ssl://localhost:9711"] #type = "failover" #[apim.workflow] #enable = false #service_url = "https://localhost:9445/bpmn" #username = "$ref{super_admin.username}" #password = "$ref{super_admin.password}" #callback_endpoint = "https://localhost:${mgt.transport.https.port}/api/am/admin/v0.15/workflows/update-workflow-status" #token_endpoint = "https://localhost:${https.nio.port}/token" #client_registration_endpoint = "https://localhost:${mgt.transport.https.port}/client-registration/v0.15/register" #client_registration_username = "$ref{super_admin.username}" #client_registration_password = "$ref{super_admin.password}" #data bridge config #[transport.receiver] #type = "binary" #worker_threads = 10 #session_timeout = "30m" #keystore.file_name = "$ref{keystore.tls.file_name}" #keystore.password = "$ref{keystore.tls.password}" #tcp_port = 9611 #ssl_port = 9711 #ssl_receiver_thread_pool_size = 100 #tcp_receiver_thread_pool_size = 100 #ssl_enabled_protocols = ["TLSv1","TLSv1.1","TLSv1.2"] #ciphers = ["SSL_RSA_WITH_RC4_128_MD5","SSL_RSA_WITH_RC4_128_SHA"] #[apim.notification] #from_address = "APIM.com" #username = "APIM" #password = "APIM+123" #hostname = "localhost" #port = 3025 #enable_start_tls = false #enable_authentication = true #[apim.token.revocation] #notifier_impl = "org.wso2.carbon.apimgt.keymgt.events.TokenRevocationNotifierImpl" #enable_realtime_notifier = true #realtime_notifier.ttl = 5000 #enable_persistent_notifier = true #persistent_notifier.hostname = "https://localhost:2379/v2/keys/jti/" #persistent_notifier.ttl = 5000 #persistent_notifier.username = "root" #persistent_notifier.password = "root" [[event_handler]] name="userPostSelfRegistration" subscriptions=["POST_ADD_USER"] [service_provider] sp_name_regex = "^[\\sa-zA-Z0-9._-]*$"
下面是

wrapper.conf

,用于将wso2作为服务启动。将此文件放在yajsw-stable-12.14 \ conf#******************************************************************** # working directory #******************************************************************** wrapper.working.dir=${CARBON_HOME}/ # Java Main class. # YAJSW: default is "org.rzo.yajsw.app.WrapperJVMMain" # DO NOT SET THIS PROPERTY UNLESS YOU HAVE YOUR OWN IMPLEMENTATION # wrapper.java.mainclass= #******************************************************************** # tmp folder # yajsw creates temporary files named in_.. out_.. err_.. jna.. # per default these are placed in jna.tmpdir. # jna.tmpdir is set in setenv batch file to <yajsw>/tmp #******************************************************************** wrapper.tmp.path = ${jna_tmpdir} #******************************************************************** # Application main class or native executable # One of the following properties MUST be defined #******************************************************************** # Java Application main class wrapper.java.app.mainclass=org.wso2.carbon.bootstrap.Bootstrap # Log Level for console output. (See docs for log levels) wrapper.console.loglevel=INFO # Log file to use for wrapper output logging. wrapper.logfile=${wrapper_home}\/log\/wrapper.log # Format of output for the log file. (See docs for formats) #wrapper.logfile.format=LPTM # Log Level for log file output. (See docs for log levels) #wrapper.logfile.loglevel=INFO # Maximum size that the log file will be allowed to grow to before # the log is rolled. Size is specified in bytes. The default value # of 0, disables log rolling by size. May abbreviate with the 'k' (kB) or # 'm' (mB) suffix. For example: 10m = 10 megabytes. # If wrapper.logfile does not contain the string ROLLNUM it will be automatically added as suffix of the file name wrapper.logfile.maxsize=10m # Maximum number of rolled log files which will be allowed before old # files are deleted. The default value of 0 implies no limit. wrapper.logfile.maxfiles=10 # Title to use when running as a console wrapper.console.title=WSO2 APIM Carbon #******************************************************************** # Wrapper Windows Service and Posix Daemon Properties #******************************************************************** # Name of the service wrapper.ntservice.name=WSO2APIMCARBON # Display name of the service wrapper.ntservice.displayname=WSO2 APIM Carbon # Description of the service wrapper.ntservice.description=Carbon Kernel #******************************************************************** # Wrapper System Tray Properties #******************************************************************** # enable system tray wrapper.tray = true # TCP/IP port. If none is defined multicast discovery is used to find the port # Set the port in case multicast is not possible. wrapper.tray.port = 15002 #******************************************************************** # Exit Code Properties # Restart on non zero exit code #******************************************************************** wrapper.on_exit.0=SHUTDOWN wrapper.on_exit.default=RESTART #******************************************************************** # Trigger actions on console output #******************************************************************** # On Exception show message in system tray wrapper.filter.trigger.0=Exception wrapper.filter.script.0=${wrapper_home}/scripts/trayMessage.gv wrapper.filter.script.0.args=Exception #******************************************************************** # genConfig: further Properties generated by genConfig #******************************************************************** placeHolderSoGenPropsComeHere= wrapper.java.command = ${JAVA_HOME}/bin/java wrapper.java.classpath.1 = ${CARBON_HOME}/bin/*.jar wrapper.java.classpath.2 = ${CARBON_HOME}/lib/commons-lang-*.jar wrapper.java.classpath.3 = ${CARBON_HOME}/lib/*.jar wrapper.app.parameter.1 = org.wso2.carbon.bootstrap.Bootstrap wrapper.app.parameter.2 = RUN wrapper.java.additional.1 = -Xbootclasspath/a:${CARBON_HOME}/lib/xboot/*.jar wrapper.java.additional.2 = -Xms256m wrapper.java.additional.3 = -Xmx1024m wrapper.java.additional.4 = -XX:MaxPermSize=256m wrapper.java.additional.5 = -XX:+HeapDumpOnOutOfMemoryError wrapper.java.additional.6 = -XX:HeapDumpPath=${CARBON_HOME}/repository/logs/heap-dump.hprof wrapper.java.additional.7 = -Dcom.sun.management.jmxremote wrapper.java.additional.8 = -Dcarbon.registry.root=\/ wrapper.java.additional.9 = -Dcarbon.home=${CARBON_HOME} wrapper.java.additional.10 = -Dwso2.server.standalone=true wrapper.java.additional.11 = -Djava.command=${JAVA_HOME}/bin/java wrapper.java.additional.12 = -Djava.io.tmpdir=${CARBON_HOME}/tmp wrapper.java.additional.13 = -Dcatalina.base=${CARBON_HOME}/lib/tomcat wrapper.java.additional.14 = -Djava.util.logging.config.file=${CARBON_HOME}/repository/conf/etc/logging-bridge.properties wrapper.java.additional.15 = -Dcarbon.config.dir.path=${CARBON_HOME}/repository/conf wrapper.java.additional.16 = -Dcarbon.logs.path=${CARBON_HOME}/repository/logs wrapper.java.additional.17 = -Dcomponents.repo=${CARBON_HOME}/repository/components/plugins wrapper.java.additional.18 = -Dconf.location=${CARBON_HOME}/repository/conf wrapper.java.additional.19 = -Dcom.atomikos.icatch.file=${CARBON_HOME}/lib/transactions.properties wrapper.java.additional.20 = -Dcom.atomikos.icatch.hide_init_file_path=true wrapper.java.additional.21 = -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true wrapper.java.additional.22 = -Dcom.sun.jndi.ldap.connect.pool.authentication=simple wrapper.java.additional.23 = -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 wrapper.java.additional.24 = -Dorg.terracotta.quartz.skipUpdateCheck=true wrapper.java.additional.25 = -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false wrapper.java.additional.26 = -Dfile.encoding=UTF8 wrapper.java.additional.27 = -DworkerNode=false wrapper.java.additional.28 = -Dhttpclient.hostnameVerifier=DefaultAndLocalhost wrapper.java.additional.29 = -Dcarbon.new.config.dir.path=${CARBON_HOME}/repository/resources/conf
wso2 wso2-am
1个回答
0
投票
在登录期间,APIM进行内部API调用。当主机名“ localhost”用于API调用但信任库没有有效的证书“ localhost”时,会发生此错误。将API调用中使用的主机名更改为Deployment.yaml中配置的主机名即可解决此问题。可以在

[HOME] / repository / deployment / server / jaggeryapps / [DEVPORTAL / PUBLISHER] / services目录中的jaggery文件中找到内部API调用。否则将SAN添加到本地主机的证书中。

© www.soinside.com 2019 - 2024. All rights reserved.