我尝试在我的M1 Pro MacBook Pro和Ubuntu主服务器上设置这个Docker容器。在这两种情况下,我都得到了相同的错误。我提到这两台机器是因为我觉得这排除了ARM vx x86的可能原因。
不管怎么说,我从FusionAuth的网站上得到了模板docker-复合文件,做了一些调整,并在本地运行。我已经有了一个单独的Postgres实例。这是我的停靠-撰写文件:
version: '3'
services:
fusionauth:
container_name: fusionauth
image: fusionauth/fusionauth-app:1.36.4
environment:
DATABASE_URL: jdbc:postgresql://localhost:5432/fusion_auth_practice
DATABASE_ROOT_USERNAME: postgres_root
DATABASE_ROOT_PASSWORD: ${POSTGRES_ROOT_PASSWORD}
FUSIONAUTH_APP_MEMORY: 512M
FUSIONAUTH_APP_RUNTIME_MODE: development
FUSIONAUTH_APP_URL: http://fusionauth:9011
SEARCH_TYPE: database
ports:
- 9011:9011
networks:
- fusionauth
networks:
fusionauth:
driver: bridge在我运行它之后,我尝试用Chrome导航到https://localhost:9011,但是我得到了一个ERR_SSL_PROTOCOL_ERROR,却找不到它。当我用卷曲点击相同的URL时,我得到:
curl:(35)错误:1404B42E:SSL routines:ST_CONNECT:tlsv1警报协议版本。
很明显,SSL连接有问题,我完全不知道它会是什么。
发布于 2022-06-04 18:52:11
默认情况下,FusionAuth为TLS (https)打开端口9013。但是,我认为默认情况下,使用的keystore没有localhost的证书(虽然我可能错了)。如果它确实有一个证书,它将是自签名的,这将要求您将证书添加到您的操作系统信任存储。
如果您在浏览器中打开http://localhost:9011,它应该成功地连接到FusionAuth并呈现主页。您也可以尝试通过Docker打开端口9013,然后点击https://localhost:9013,看看它是否有效。
一般来说,大多数安装的FusionAuth将使用Nginx或Apache作为FusionAuth前面的反向代理,以提供TLS终端。有大量的在线教程用于获得具有自签名证书的反向代理设置,并代理到HTTP端点。如果您想使用TLS,我建议您尝试这种类型的部署。
如果您有一个可以使用LetsEncrypt执行证书验证的公共访问服务器,则还可以购买证书或使用LetsEncrypt。一旦您从一个有效的CA获得了一个有效的证书,那么您就可以将它安装到Nginx或直接安装到FusionAuth中,以提供一个有效的TLS连接。
https://stackoverflow.com/questions/72501874
复制相似问题