Spring 使用 SSL 的云数据流管理
Spring Cloud Data Flow Management with SSL
无法访问管理端点 一旦本地 spring 云数据流服务器 ssl 已启用并具有基本身份验证
我有 docker-compose.yml 文件可以使用 ssl 和基于文件的身份验证启动数据流服务器,这有效,我现在可以 运行 端口 8443 上的数据流服务器,并通过提供正确的凭据访问仪表板。
env_file:
- .env
dataflow-server:
image: repo.mitchell.com/springcloud/spring-cloud-dataflow-server-local:${DATAFLOW_VERSION}
container_name: dataflow-server
ports:
- "9393:9393"
- "9900:9900"
- "8443:8443"
- "8081:8081"
environment:
- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=kafka:9092
- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=zookeeper:2181
- spring_datasource_url=jdbc:mysql://mysql:3306/dataflow
- spring_datasource_username=root
- spring_datasource_password=${MYSQL_PASS}
- spring_datasource_driver-class-name=org.mariadb.jdbc.Driver
- spring.cloud.dataflow.metrics.collector.uri=${METRICS_COLLECTOR_URI}:8080
- spring.cloud.dataflow.metrics.collector.username=${METRICS_COLLECTOR_USER}
- spring.cloud.dataflow.metrics.collector.password=${METRICS_COLLECTOR_PASS}
- server.port=8443
- server.ssl.enabled=true
- server.ssl.key-store=${SSL_KEY_STORE_PATH}
- server.ssl.key-store-password=${SSL_TRUST_STORE_PASS}
- server.ssl.keyStoreType=JKS
- server.ssl.keyAlias=${SSL_KEY_ALIAS}
- security.require-ssl=true
- server.ssl.trust-store=${SSL_TRUST_STORE_PATH}
- server.ssl.trust-store-password=${SSL_TRUST_STORE_PASS}
- management.security.enabled=true
- management.context-path=/management
- security.basic.enabled=true
- spring.cloud.dataflow.security.authentication.file.enabled=true
- spring.cloud.dataflow.security.authentication.file.users.bob=bobpass, ROLE_MANAGE
- spring.cloud.dataflow.security.authentication.file.users.${FILE_AUTH_ADMIN_USER}=${FILE_AUTH_ADMIN_PASS}, ROLE_VIEW, ROLE_CREATE, ROLE_MANAGE
- spring.cloud.dataflow.security.authentication.file.users.${FILE_AUTH_USER}=${FILE_AUTH_PASS}, ROLE_VIEW
我希望 https://<ipaddress>:8443/management
可以访问,但是它一直重定向到 https://<ipaddress>:8443/dashboard/#/apps
这是 UI 和 RestEndpoints 在同一根目录下的限制(设计使然)。因此,如果您使用浏览器访问服务器,我们默认提供 UI 并重定向到 /dashboard
如果您使用 curl
等命令行工具,则会提供 JSON REST 响应,例如:
curl -X GET -k -i https://localhost:8443/management -u user:secret_password
使用浏览器时,我建议使用 Postman (Chrome) or RESTClient (Firefox)。
无法访问管理端点 一旦本地 spring 云数据流服务器 ssl 已启用并具有基本身份验证
我有 docker-compose.yml 文件可以使用 ssl 和基于文件的身份验证启动数据流服务器,这有效,我现在可以 运行 端口 8443 上的数据流服务器,并通过提供正确的凭据访问仪表板。
env_file:
- .env
dataflow-server:
image: repo.mitchell.com/springcloud/spring-cloud-dataflow-server-local:${DATAFLOW_VERSION}
container_name: dataflow-server
ports:
- "9393:9393"
- "9900:9900"
- "8443:8443"
- "8081:8081"
environment:
- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=kafka:9092
- spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=zookeeper:2181
- spring_datasource_url=jdbc:mysql://mysql:3306/dataflow
- spring_datasource_username=root
- spring_datasource_password=${MYSQL_PASS}
- spring_datasource_driver-class-name=org.mariadb.jdbc.Driver
- spring.cloud.dataflow.metrics.collector.uri=${METRICS_COLLECTOR_URI}:8080
- spring.cloud.dataflow.metrics.collector.username=${METRICS_COLLECTOR_USER}
- spring.cloud.dataflow.metrics.collector.password=${METRICS_COLLECTOR_PASS}
- server.port=8443
- server.ssl.enabled=true
- server.ssl.key-store=${SSL_KEY_STORE_PATH}
- server.ssl.key-store-password=${SSL_TRUST_STORE_PASS}
- server.ssl.keyStoreType=JKS
- server.ssl.keyAlias=${SSL_KEY_ALIAS}
- security.require-ssl=true
- server.ssl.trust-store=${SSL_TRUST_STORE_PATH}
- server.ssl.trust-store-password=${SSL_TRUST_STORE_PASS}
- management.security.enabled=true
- management.context-path=/management
- security.basic.enabled=true
- spring.cloud.dataflow.security.authentication.file.enabled=true
- spring.cloud.dataflow.security.authentication.file.users.bob=bobpass, ROLE_MANAGE
- spring.cloud.dataflow.security.authentication.file.users.${FILE_AUTH_ADMIN_USER}=${FILE_AUTH_ADMIN_PASS}, ROLE_VIEW, ROLE_CREATE, ROLE_MANAGE
- spring.cloud.dataflow.security.authentication.file.users.${FILE_AUTH_USER}=${FILE_AUTH_PASS}, ROLE_VIEW
我希望 https://<ipaddress>:8443/management
可以访问,但是它一直重定向到 https://<ipaddress>:8443/dashboard/#/apps
这是 UI 和 RestEndpoints 在同一根目录下的限制(设计使然)。因此,如果您使用浏览器访问服务器,我们默认提供 UI 并重定向到 /dashboard
如果您使用 curl
等命令行工具,则会提供 JSON REST 响应,例如:
curl -X GET -k -i https://localhost:8443/management -u user:secret_password
使用浏览器时,我建议使用 Postman (Chrome) or RESTClient (Firefox)。