ssl - 在 Payara/Glassfish 服务器上更改主密码

标签 ssl glassfish keystore change-password payara

背景:我需要更改 payara-server 主密码。根据文档,主密码必须与 keystore 和信任库中的密码匹配,SSL 证书才能正常工作。让我的网站在 https 而不是 http 上运行。

我让 Payara-Server 在 Docker Container through the guide 中运行:

我尝试更改 payaradomain 主密码,但出现非循环错误。 1. 确保 payara-domain 没有运行。

- ./asadmin stop-domain --force=true payaradomain

当我运行这个命令时,domain1 反而被杀死了。 & 然后被踢出 docker 容器:

./asadmin stop-domain --kill=true payaradomain

当我执行这个命令时:

./asadmin list-domains

响应:

domain1 running
payaradomain not running
Command list-domains executed successfully.

然后尝试命令:

./asadmin stop-domain --force=true payaradomain

响应:

 CLI306: Warning - The server located at /opt/payara41/glassfish/domains/payaradomain is not running.

我对此很满意,但是当我尝试时:

./asadmin change-master-password payaradomain

我收到这样的回复:

Domain payaradomain at /opt/payara41/glassfish/domains/payaradomain is running. Stop it first.

我附上了下面的图片:请帮忙...

payaradomain is running. Stop it first.

最佳答案

如果你想在 docker 中配置 Payara 服务器,包括主密码,你应该通过扩展默认的 Payara docker 镜像来创建你自己的 docker 镜像来实现。这是最简单的 Dockerfile:

FROM payara/server-full

# specify a new master password "newpassword" instead of the default password "changeit"
RUN echo 'AS_ADMIN_MASTERPASSWORD=changeit\nAS_ADMIN_NEWMASTERPASSWORD=newpassword' >> /opt/masterpwdfile

# execute asadmin command to apply the new master password
RUN ${PAYARA_PATH}/bin/asadmin change-master-password --passwordfile=/opt/masterpwdfile payaradomain

然后您可以构建您的自定义 docker 镜像:

docker build -t my-payara/server-full .

然后运行 ​​my-payara/server-full 而不是 payara/server-full

另请注意,对于默认的 Payara docker 镜像,您应该指定 PAYARA_DOMAIN 变量来运行 payaradomain 而不是 domain1,例如:

docker run --env PAYARA_DOMAIN=payaradomain payara/server-full

上面的示例 Dockerfile 重新定义了这个变量,以便默认使用 payaradomain,而无需在运行容器时指定它。

更改主密码的替代方法

您也可以在不运行 Payara Server 的情况下运行 docker 镜像。相反,您可以先运行 bash shell,在控制台中执行必要的命令,然后从 shell 运行服务器。

为此,您将运行 docker 镜像:

docker run -t -i --entrypoint /bin/bash payara/server-full

这种方法的缺点是 docker 容器在前台运行,如果您重新启动它,则必须手动重新启动 payara 服务器,因此它实际上仅用于测试目的。

关于ssl - 在 Payara/Glassfish 服务器上更改主密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47411022/

相关文章:

apache 重写 POST 请求 SSL https mod_rewrite

java - 防止 Glassfish 使用自己的库版本而不是项目中的库

java - 在 glassfish/tomcat/etc 中管理 .properties 文件的优雅解决方案

java - AEM 6.5 PKIX 路径构建失败 : sun. security.provider.certpath.SunCertPathBuilderException

java - 从签名的 APK 或 JAR 中提取原始 X.509 证书

c++ - MITM 代理,TLS 1.2 证书验证失败

http - 如果您没有 https (ssl),如何安全地传输密码?

Java keystore : Command "openssl" not found

asp.net-mvc - MVC 数据安全

java - Glassfish 5.1 服务器在启用安全管理后无法启动(NoClassDefFoundError : sun/security/ssl/HelloExtension)