【发布时间】:2020-01-25 12:58:57
【问题描述】:
我建立了一个新网站,并希望使用以下命令在 Docker 设置中运行 Keycloak:
docker run \
-v /etc/letsencrypt/live/data-mastery.com/fullchain.pem:/etc/x509/https/tls.crt \
-v /etc/letsencrypt/live/data-mastery.com/privkey.pem:/etc/x509/https/tls.key \
-e KEYCLOAK_USER=myadmin \
-e KEYCLOAK_PASSWORD=mypassword \
-e PROXY_ADDRESS_FORWARDING=true \
-p 8443:8443 jboss/keycloak
这是我的 nginx:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 443;
server_name data-mastery.com;
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_certificate /etc/letsencrypt/live/data-mastery.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/data-mastery.com/privkey.pem; # managed by Certbot
location /auth/ {
proxy_pass https://127.0.0.1:8443;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 600s;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
if ($host = data-mastery.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80 ;
listen [::]:80 ;
server_name data-mastery.com;
return 404; # managed by Certbot
}
我收到以下错误/警告,这实际上有助于我查看 Keycloak 是否存在有效的 SSL 设置:
警告:在没有服务器身份的情况下建立 SSL 连接 不推荐验证
.根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 要求 SSL 如果没有显式选项,则必须默认建立连接 放。为了符合现有的应用程序没有
t 使用 SSL,verifyServerCertificate 属性设置为“false”。 您需要通过设置 useSSL=false 来显式禁用 SSL,或者 设置 useSSL=true 并为 s 提供信任库
服务器证书验证。
我设置了所有密码、ssl 协议,但它仍然无法正常工作,即使似乎存在有效的 SSL 连接。但是,当我访问我的 /auth 端点时,我得到一个错误。我很无奈。
ERROR [io.undertow.request] (默认 I/O-1) 之后关闭 SSLConduit 握手异常:javax.net.ssl.SSLHandshakeException:没有密码 共同套房
【问题讨论】: