Compare commits
16 Commits
acs-aims
...
aps-search
Author | SHA1 | Date | |
---|---|---|---|
eb8df1a86f | |||
3fee42cd28 | |||
25e6137de9 | |||
e0e190d987 | |||
fc8a854920 | |||
7e526e0e1e | |||
dd967a17f2 | |||
27a818fd22 | |||
2d91d8bc08 | |||
6e0c055222 | |||
20b41bbcb1 | |||
a2619fac7b | |||
16aa444b19 | |||
8a0ccc61a5 | |||
237a8abd62 | |||
f28c16c4fe |
11
.env
11
.env
@@ -4,14 +4,7 @@ ALFRESCO_LICENSE_DIR=~/alfresco/license
|
|||||||
PROXY_PROTOCOL=http
|
PROXY_PROTOCOL=http
|
||||||
PROXY_HOST=localhost
|
PROXY_HOST=localhost
|
||||||
PROXY_PORT=8080
|
PROXY_PORT=8080
|
||||||
IDENTITY_SERVICE_PROTOCOL=http
|
|
||||||
IDENTITY_SERVICE_HOST=auth.example.org
|
|
||||||
IDENTITY_SERVICE_PORT=8080
|
|
||||||
|
|
||||||
ACS_TAG=7.4.1.1
|
APS_TAG=2.4.1
|
||||||
ATE_AIO_TAG=4.0.0
|
|
||||||
AIS_TAG=1.8.0.1
|
|
||||||
AAMQ_TAG=latest
|
|
||||||
POSTGRES_TAG=13
|
POSTGRES_TAG=13
|
||||||
ASIE_TAG=2.0.8.2
|
ELASTICSEARCH_TAG=7.17.13
|
||||||
ACS_SHARE_TAG=7.4.1.2
|
|
||||||
|
@@ -4,148 +4,50 @@ version: "3"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
platform:
|
activiti-app:
|
||||||
image: alfresco/alfresco-content-repository-community:${ACS_TAG}
|
image: quay.io/alfresco/alfresco-process-services:${APS_TAG}
|
||||||
environment:
|
environment:
|
||||||
JAVA_TOOL_OPTIONS: "
|
ACTIVITI_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps:5432/activiti?characterEncoding=UTF-8'
|
||||||
-Dencryption.keystore.type=JCEKS
|
ACTIVITI_ES_REST_CLIENT_ADDRESS: search-aps
|
||||||
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
|
|
||||||
-Dencryption.keyAlgorithm=DESede
|
|
||||||
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
|
|
||||||
-Dmetadata-keystore.password=mp6yc0UD9e
|
|
||||||
-Dmetadata-keystore.aliases=metadata
|
|
||||||
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
|
|
||||||
-Dmetadata-keystore.metadata.algorithm=DESede
|
|
||||||
"
|
|
||||||
JAVA_OPTS: "
|
|
||||||
-Xms512m -Xmx1g
|
|
||||||
-Ddb.driver=org.postgresql.Driver
|
|
||||||
-Ddb.username=alfresco
|
|
||||||
-Ddb.password=alfresco
|
|
||||||
-Ddb.url=jdbc:postgresql://postgres-acs:5432/alfresco
|
|
||||||
-Dindex.subsystem.name=solr6
|
|
||||||
-Dsolr.host=search
|
|
||||||
-Dsolr.secureComms=secret
|
|
||||||
-Dsolr.sharedSecret=alfresco-secret
|
|
||||||
-Dshare.host=${PROXY_HOST}
|
|
||||||
-Dshare.port=${PROXY_PORT}
|
|
||||||
-Dshare.protocol=${PROXY_PROTOCOL}
|
|
||||||
-Dalfresco.host=${PROXY_HOST}
|
|
||||||
-Dalfresco.port=${PROXY_PORT}
|
|
||||||
-Dalfresco.protocol=${PROXY_PROTOCOL}
|
|
||||||
-Daos.baseUrlOverwrite=${PROXY_PROTOCOL}://${PROXY_HOST}:${PROXY_PORT}/alfresco/aos
|
|
||||||
-Dmessaging.broker.url=\"failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true\"
|
|
||||||
-Ddeployment.method=DOCKER_COMPOSE
|
|
||||||
-DlocalTransform.core-aio.url=http://transform-core-aio:8090/
|
|
||||||
-Dalfresco-pdf-renderer.url=http://transform-core-aio:8090/
|
|
||||||
-Djodconverter.url=http://transform-core-aio:8090/
|
|
||||||
-Dimg.url=http://transform-core-aio:8090/
|
|
||||||
-Dtika.url=http://transform-core-aio:8090/
|
|
||||||
-Dtransform.misc.url=http://transform-core-aio:8090/
|
|
||||||
-Dcsrf.filter.enabled=false
|
|
||||||
-Dcors.enabled=true
|
|
||||||
-Dcors.allowed.origins=http://localhost:4200,http://localhost:8080,${PROXY_PROTOCOL}://${PROXY_HOST}
|
|
||||||
-Dtransform.service.enabled=false
|
|
||||||
-Dlocal.transform.service.enabled=true
|
|
||||||
-Dauthentication.chain=aims:identity-service,builtin:alfrescoNtlm
|
|
||||||
-Didentity-service.authentication.defaultAdministratorUserNames=admin.1
|
|
||||||
-Didentity-service.auth-server-url=http://identity:8080/auth
|
|
||||||
-Dsystem.content.eagerOrphanCleanup=true
|
|
||||||
-Dsystem.content.orphanProtectDays=0
|
|
||||||
-Djodconverter.enabled=false
|
|
||||||
"
|
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres-acs:
|
- postgres-aps
|
||||||
condition: service_started
|
- search-aps
|
||||||
activemq:
|
volumes:
|
||||||
condition: service_started
|
- "$ALFRESCO_LICENSE_DIR/aps:/root/.activiti/enterprise-license:ro"
|
||||||
identity:
|
|
||||||
condition: service_healthy
|
|
||||||
|
|
||||||
transform-core-aio:
|
activiti-admin:
|
||||||
image: alfresco/alfresco-transform-core-aio:${ATE_AIO_TAG}
|
image: quay.io/alfresco/alfresco-process-services-admin:${APS_TAG}
|
||||||
|
|
||||||
share:
|
|
||||||
image: alfresco/alfresco-share:${ACS_SHARE_TAG}
|
|
||||||
environment:
|
environment:
|
||||||
REPO_HOST: "platform"
|
ACTIVITI_ADMIN_DATASOURCE_URL: 'jdbc:postgresql://postgres-aps-admin:5432/activiti-admin?characterEncoding=UTF-8'
|
||||||
CSRF_FILTER_REFERER: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?/?.*"
|
ACTIVITI_ADMIN_REST_APP_HOST: http://activiti-app
|
||||||
CSRF_FILTER_ORIGIN: "${PROXY_PROTOCOL}://${PROXY_HOST}(:${PROXY_PORT})?"
|
depends_on:
|
||||||
JAVA_OPTS: "
|
- postgres-aps-admin
|
||||||
-Dshare.host=${PROXY_HOST}
|
- activiti-app
|
||||||
-Dshare.port=${PROXY_PORT}
|
|
||||||
-Dshare.protocol=${PROXY_PROTOCOL}
|
|
||||||
-Dalfresco.host=${PROXY_HOST}
|
|
||||||
-Dalfresco.port=${PROXY_PORT}
|
|
||||||
-Dalfresco.protocol=${PROXY_PROTOCOL}
|
|
||||||
-Daims.enabled=true
|
|
||||||
-Daims.realm=alfresco
|
|
||||||
-Daims.resource=acs-share
|
|
||||||
-Daims.authServerUrl=${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
|
|
||||||
-Daims.sslRequired=none
|
|
||||||
-Daims.publicClient=true
|
|
||||||
-Daims.autodetectBearerOnly=true
|
|
||||||
-Daims.alwaysRefreshToken=true
|
|
||||||
-Daims.principalAttribute=preferred_username
|
|
||||||
-Daims.enableBasicAuth=true
|
|
||||||
"
|
|
||||||
|
|
||||||
postgres-acs:
|
postgres-aps:
|
||||||
image: postgres:${POSTGRES_TAG}
|
image: postgres:${POSTGRES_TAG}
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_PASSWORD: alfresco
|
POSTGRES_DB: activiti
|
||||||
POSTGRES_USER: alfresco
|
|
||||||
POSTGRES_DB: alfresco
|
|
||||||
command: postgres -c max_connections=300 -c log_min_messages=LOG
|
|
||||||
|
|
||||||
search:
|
postgres-aps-admin:
|
||||||
image: alfresco/alfresco-search-services:${ASIE_TAG}
|
image: postgres:${POSTGRES_TAG}
|
||||||
environment:
|
environment:
|
||||||
SOLR_ALFRESCO_HOST: platform
|
POSTGRES_DB: activiti-admin
|
||||||
SOLR_SOLR_HOST: search
|
|
||||||
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
|
search-aps:
|
||||||
ALFRESCO_SECURE_COMMS: secret
|
image: elasticsearch:${ELASTICSEARCH_TAG}
|
||||||
JAVA_TOOL_OPTIONS: "
|
|
||||||
-Dalfresco.secureComms.secret=alfresco-secret
|
|
||||||
"
|
|
||||||
healthcheck:
|
|
||||||
test: "curl -fsS http://localhost:8983/solr"
|
|
||||||
|
|
||||||
activemq:
|
|
||||||
image: alfresco/alfresco-activemq:${AAMQ_TAG}
|
|
||||||
environment:
|
environment:
|
||||||
ACTIVEMQ_OPTS_MEMORY: -Xms64m -Xmx256m
|
discovery.type: single-node
|
||||||
ACTIVEMQ_ADMIN_LOGIN: alfresco
|
ulimits:
|
||||||
ACTIVEMQ_ADMIN_PASSWORD: alfresco
|
memlock:
|
||||||
|
soft: -1
|
||||||
identity:
|
hard: -1
|
||||||
image: alfresco/alfresco-identity-service:${AIS_TAG}
|
|
||||||
user: jboss
|
|
||||||
environment:
|
|
||||||
KEYCLOAK_USER: admin
|
|
||||||
KEYCLOAK_PASSWORD: admin
|
|
||||||
KEYCLOAK_FRONTEND_URL: ${IDENTITY_SERVICE_PROTOCOL}://${IDENTITY_SERVICE_HOST}:${IDENTITY_SERVICE_PORT}/auth
|
|
||||||
KEYCLOAK_IMPORT: /tmp/keycloak-alfresco-realm.json
|
|
||||||
KEYCLOAK_STATISTICS: enabled
|
|
||||||
networks:
|
|
||||||
default:
|
|
||||||
aliases:
|
|
||||||
- "${IDENTITY_SERVICE_HOST}"
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080/auth/realms/alfresco"]
|
|
||||||
interval: 10s
|
|
||||||
timeout: 10s
|
|
||||||
# Really long startup times on Windows
|
|
||||||
retries: 18
|
|
||||||
volumes:
|
|
||||||
- ./keycloak-alfresco-realm.json:/tmp/keycloak-alfresco-realm.json:ro
|
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
build: ./nginx-ingress
|
build: ./nginx-ingress
|
||||||
image: local/nginx-ingress:acs-share-aims
|
image: local/nginx-ingress:aps
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
depends_on:
|
depends_on:
|
||||||
- platform
|
- activiti-app
|
||||||
- share
|
- activiti-admin
|
||||||
- identity
|
|
||||||
|
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"realm": "alfresco",
|
|
||||||
"enabled": true,
|
|
||||||
"sslRequired": "external",
|
|
||||||
"registrationAllowed": false,
|
|
||||||
"roles": {
|
|
||||||
"realm": [ {
|
|
||||||
"name": "user",
|
|
||||||
"description": "User privileges"
|
|
||||||
}, {
|
|
||||||
"name": "admin",
|
|
||||||
"description": "Administrator privileges"
|
|
||||||
} ]
|
|
||||||
},
|
|
||||||
"clients": [
|
|
||||||
{
|
|
||||||
"clientId": "alfresco",
|
|
||||||
"name": "Alfresco Products",
|
|
||||||
"enabled": true,
|
|
||||||
"alwaysDisplayInConsole": false,
|
|
||||||
"redirectUris": [ "*" ],
|
|
||||||
"standardFlowEnabled": true,
|
|
||||||
"implicitFlowEnabled": true,
|
|
||||||
"directAccessGrantsEnabled": false,
|
|
||||||
"publicClient": true,
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"attributes": {
|
|
||||||
"login_theme": "alfresco"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"clientId": "acs-share",
|
|
||||||
"name": "ACS Share",
|
|
||||||
"enabled": true,
|
|
||||||
"alwaysDisplayInConsole": false,
|
|
||||||
"redirectUris": [ "*" ],
|
|
||||||
"standardFlowEnabled": true,
|
|
||||||
"implicitFlowEnabled": false,
|
|
||||||
"directAccessGrantsEnabled": false,
|
|
||||||
"publicClient": true,
|
|
||||||
"protocol": "openid-connect",
|
|
||||||
"attributes": {
|
|
||||||
"login_theme": "alfresco"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"requiredCredentials": [ "password" ],
|
|
||||||
"users": [
|
|
||||||
{
|
|
||||||
"username": "admin",
|
|
||||||
"email": "admin@app.activiti.com",
|
|
||||||
"enabled": true,
|
|
||||||
"credentials" : [
|
|
||||||
{
|
|
||||||
"type" : "password",
|
|
||||||
"value" : "admin"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"realmRoles": [ "user", "admin" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,15 +1,11 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [[ $ACS_PLATFORM_URL ]]; then
|
if [[ $APS_APP_URL ]]; then
|
||||||
sed -i s%http:\/\/platform:8080%"$ACS_PLATFORM_URL"%g /etc/nginx/nginx.conf
|
sed -i s%http:\/\/activiti-app:8080%"$APS_APP_URL"%g /etc/nginx/nginx.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $ACS_SHARE_URL ]]; then
|
if [[ $APS_ADMIN_URL ]]; then
|
||||||
sed -i s%http:\/\/share:8080%"$ACS_SHARE_URL"%g /etc/nginx/nginx.conf
|
sed -i s%http:\/\/activiti-admin:8080%"$APS_ADMIN_URL"%g /etc/nginx/nginx.conf
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $AIMS_URL ]]; then
|
|
||||||
sed -i s%http:\/\/identity:8080%"$AIMS_URL"%g /etc/nginx/nginx.conf
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $ACCESS_LOG ]]; then
|
if [[ $ACCESS_LOG ]]; then
|
||||||
|
@@ -19,10 +19,7 @@ http {
|
|||||||
|
|
||||||
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
# proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_buffer_size 64k;
|
|
||||||
proxy_buffers 4 256k;
|
|
||||||
proxy_busy_buffers_size 256k;
|
|
||||||
proxy_set_header Host $http_host;
|
proxy_set_header Host $http_host;
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
@@ -42,22 +39,18 @@ http {
|
|||||||
location ~ ^(/.*/s/prometheus)$ {return 403;}
|
location ~ ^(/.*/s/prometheus)$ {return 403;}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://platform:8080;
|
return 301 $scheme://$http_host/activiti-app;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /alfresco/ {
|
location /activiti-app/ {
|
||||||
proxy_pass http://platform:8080;
|
proxy_pass http://activiti-app:8080;
|
||||||
|
|
||||||
# If using external proxy / load balancer (for initial redirect if no trailing slash)
|
# If using external proxy / load balancer (for initial redirect if no trailing slash)
|
||||||
absolute_redirect off;
|
absolute_redirect off;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /share/ {
|
location /activiti-admin/ {
|
||||||
proxy_pass http://share:8080;
|
proxy_pass http://activiti-admin:8080;
|
||||||
}
|
|
||||||
|
|
||||||
location /auth/ {
|
|
||||||
proxy_pass http://identity:8080;
|
|
||||||
|
|
||||||
# If using external proxy / load balancer (for initial redirect if no trailing slash)
|
# If using external proxy / load balancer (for initial redirect if no trailing slash)
|
||||||
absolute_redirect off;
|
absolute_redirect off;
|
||||||
|
175
server.xml
175
server.xml
@@ -1,175 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!--
|
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
|
||||||
this work for additional information regarding copyright ownership.
|
|
||||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
||||||
(the "License"); you may not use this file except in compliance with
|
|
||||||
the License. You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<!-- Note: A "Server" is not itself a "Container", so you may not
|
|
||||||
define subcomponents such as "Valves" at this level.
|
|
||||||
Documentation at /docs/config/server.html
|
|
||||||
-->
|
|
||||||
<Server port="8005" shutdown="SHUTDOWN">
|
|
||||||
<Listener className="org.apache.catalina.startup.VersionLoggerListener" logArgs="false" />
|
|
||||||
<!-- Security listener. Documentation at /docs/config/listeners.html
|
|
||||||
<Listener className="org.apache.catalina.security.SecurityListener" />
|
|
||||||
-->
|
|
||||||
<!-- APR library loader. Documentation at /docs/apr.html -->
|
|
||||||
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
|
|
||||||
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
|
|
||||||
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
|
|
||||||
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
|
|
||||||
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
|
|
||||||
|
|
||||||
<!-- Global JNDI resources
|
|
||||||
Documentation at /docs/jndi-resources-howto.html
|
|
||||||
-->
|
|
||||||
<GlobalNamingResources>
|
|
||||||
<!-- Editable user database that can also be used by
|
|
||||||
UserDatabaseRealm to authenticate users
|
|
||||||
-->
|
|
||||||
<Resource name="UserDatabase" auth="Container"
|
|
||||||
type="org.apache.catalina.UserDatabase"
|
|
||||||
description="User database that can be updated and saved"
|
|
||||||
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
|
|
||||||
pathname="conf/tomcat-users.xml" />
|
|
||||||
</GlobalNamingResources>
|
|
||||||
|
|
||||||
<!-- A "Service" is a collection of one or more "Connectors" that share
|
|
||||||
a single "Container" Note: A "Service" is not itself a "Container",
|
|
||||||
so you may not define subcomponents such as "Valves" at this level.
|
|
||||||
Documentation at /docs/config/service.html
|
|
||||||
-->
|
|
||||||
<Service name="Catalina">
|
|
||||||
|
|
||||||
<!--The connectors can use a shared executor, you can define one or more named thread pools-->
|
|
||||||
<!--
|
|
||||||
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
|
|
||||||
maxThreads="150" minSpareThreads="4"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- A "Connector" represents an endpoint by which requests are received
|
|
||||||
and responses are returned. Documentation at :
|
|
||||||
Java HTTP Connector: /docs/config/http.html
|
|
||||||
Java AJP Connector: /docs/config/ajp.html
|
|
||||||
APR (HTTP/AJP) Connector: /docs/apr.html
|
|
||||||
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
|
|
||||||
-->
|
|
||||||
<Connector port="8080" protocol="HTTP/1.1"
|
|
||||||
Server=" "
|
|
||||||
connectionTimeout="20000"
|
|
||||||
redirectPort="8443"
|
|
||||||
proxyName="alfresco.inteligr8.com" proxyPort="443" />
|
|
||||||
<!-- A "Connector" using the shared thread pool-->
|
|
||||||
<!--
|
|
||||||
<Connector executor="tomcatThreadPool"
|
|
||||||
port="8080" protocol="HTTP/1.1"
|
|
||||||
connectionTimeout="20000"
|
|
||||||
redirectPort="8443"
|
|
||||||
proxyHost="alfresco.inteligr8.com" proxyPort="443" />
|
|
||||||
-->
|
|
||||||
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443
|
|
||||||
This connector uses the NIO implementation. The default
|
|
||||||
SSLImplementation will depend on the presence of the APR/native
|
|
||||||
library and the useOpenSSL attribute of the AprLifecycleListener.
|
|
||||||
Either JSSE or OpenSSL style configuration may be used regardless of
|
|
||||||
the SSLImplementation selected. JSSE style configuration is used below.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
|
|
||||||
maxThreads="150" SSLEnabled="true">
|
|
||||||
<SSLHostConfig>
|
|
||||||
<Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
|
|
||||||
type="RSA" />
|
|
||||||
</SSLHostConfig>
|
|
||||||
</Connector>
|
|
||||||
-->
|
|
||||||
<!-- Define an SSL/TLS HTTP/1.1 Connector on port 8443 with HTTP/2
|
|
||||||
This connector uses the APR/native implementation which always uses
|
|
||||||
OpenSSL for TLS.
|
|
||||||
Either JSSE or OpenSSL style configuration may be used. OpenSSL style
|
|
||||||
configuration is used below.
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
|
|
||||||
maxThreads="150" SSLEnabled="true" >
|
|
||||||
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
|
|
||||||
<SSLHostConfig>
|
|
||||||
<Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
|
|
||||||
certificateFile="conf/localhost-rsa-cert.pem"
|
|
||||||
certificateChainFile="conf/localhost-rsa-chain.pem"
|
|
||||||
type="RSA" />
|
|
||||||
</SSLHostConfig>
|
|
||||||
</Connector>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Define an AJP 1.3 Connector on port 8009 -->
|
|
||||||
<!--
|
|
||||||
<Connector protocol="AJP/1.3"
|
|
||||||
address="::1"
|
|
||||||
port="8009"
|
|
||||||
redirectPort="8443" />
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- An Engine represents the entry point (within Catalina) that processes
|
|
||||||
every request. The Engine implementation for Tomcat stand alone
|
|
||||||
analyzes the HTTP headers included with the request, and passes them
|
|
||||||
on to the appropriate Host (virtual host).
|
|
||||||
Documentation at /docs/config/engine.html -->
|
|
||||||
|
|
||||||
<!-- You should set jvmRoute to support load-balancing via AJP ie :
|
|
||||||
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
|
|
||||||
-->
|
|
||||||
<Engine name="Catalina" defaultHost="localhost">
|
|
||||||
|
|
||||||
<!--For clustering, please take a look at documentation at:
|
|
||||||
/docs/cluster-howto.html (simple how to)
|
|
||||||
/docs/config/cluster.html (reference documentation) -->
|
|
||||||
<!--
|
|
||||||
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
|
|
||||||
via a brute-force attack -->
|
|
||||||
<Realm className="org.apache.catalina.realm.LockOutRealm">
|
|
||||||
<!-- This Realm uses the UserDatabase configured in the global JNDI
|
|
||||||
resources under the key "UserDatabase". Any edits
|
|
||||||
that are performed against this UserDatabase are immediately
|
|
||||||
available for use by the Realm. -->
|
|
||||||
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
|
|
||||||
resourceName="UserDatabase"/>
|
|
||||||
</Realm>
|
|
||||||
|
|
||||||
<Host name="localhost" appBase="webapps"
|
|
||||||
unpackWARs="true" autoDeploy="true">
|
|
||||||
|
|
||||||
<!-- SingleSignOn valve, share authentication between web applications
|
|
||||||
Documentation at: /docs/config/valve.html -->
|
|
||||||
<!--
|
|
||||||
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- Access log processes all example.
|
|
||||||
Documentation at: /docs/config/valve.html
|
|
||||||
Note: The pattern used is equivalent to using pattern="common" -->
|
|
||||||
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
|
|
||||||
prefix="localhost_access_log" suffix=".txt"
|
|
||||||
pattern="%h %l %u %t "%r" %s %b" />
|
|
||||||
|
|
||||||
<Valve className="org.apache.catalina.valves.RemoteIpValve" />
|
|
||||||
|
|
||||||
</Host>
|
|
||||||
</Engine>
|
|
||||||
</Service>
|
|
||||||
</Server>
|
|
Reference in New Issue
Block a user