美文网首页
Nexus 开启 https 访问

Nexus 开启 https 访问

作者: 0neBean | 来源:发表于2019-10-14 00:41 被阅读0次

    简短的说,nexus 开启https访问,大致分为两种方式:

    • 第一种是用nginx做反向代理

    对外暴露443端口,指定证书,对内转发到nexus上,如果你会用nginx,我这么一说你就懂了,不会用,我说的再多也白搭。

    • 第二种将证书直接配置到nexus服务上

    nexus自身指定的证书是jks格式,获取jks证书大致又可分为两种模式:

    1 直接生成jks证书:

    # 去你的nexus安装目录下:
    cd  $install-dir/etc/ssl/
    # 生成证书
    keytool -genkeypair -keystore keystore.jks -storepass nexus3 -keypass nexus3 -alias jetty -keyalg RSA -keysize 2048 -validity 5000 -dname "CN=*.{NEXUS_DOMAIN}, OU=Example, O=Sonatype, L=Unspecified, ST=Unspecified, C=US" -ext "SAN=DNS:{NEXUS_DOMAIN},IP:{NEXUS_IP}" -ext "BC=ca:true"
    

    变量解释:
    CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码
    NEXUS_DOMAIN 是你的nexues 访问域名 这里不能输入IP 不然会报错
    NEXUS_IP 是你的nexues 访问IP
    storepass && keypass 对应了 ${jetty.etc}/jetty-https.xml 文件里的 KeyStorePassword KeyManagerPassword TrustStorePassword的value值

    2 将已有的x509 https证书 转成 jks证书:

    openssl pkcs12 -export -out keystore.pkcs12 -inkey nexus.key -in nexus.crt
    # 这里需要设置密码
    
    # 再将p12格式文件转为.jks格式:
    keytool -v -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
    # 输入上步设置的密码并设置新密码 可以和上一步一样的密码
    

    这里最后的密码同样对应了 ${jetty.etc}/jetty-https.xml 文件里的 KeyStorePassword KeyManagerPassword TrustStorePassword的value值



    获得jks格式证书后,将其配置到nexus:

    • 修改$data-dir/etc/nexus.properties文件,在第一行添加
    application-port-ssl=8443
    
    • 修改$data-dir/etc/nexus.properties文件,修改Key为nexus-args所在行的值,在后面添加:
    ,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-http-redirect-to-https.xml
    
    • 修改${jetty.etc}/jetty-https.xml文件中keystore和truststore的配置部分
    <Set name="KeyStorePath"><Property name="ssl.etc"/>/usr/program/nexus/nexus-3.19.0-01/etc/ssl/keystore.jks</Set>
    <Set name="KeyStorePassword">nexus3</Set>
    <Set name="KeyManagerPassword">nexus3</Set>
    <Set name="TrustStorePath"><Property name="ssl.etc"/>/usr/program/nexus/nexus-3.19.0-01/etc/ssl/keystore.jks</Set>
    <Set name="TrustStorePassword">nexus3</Set>
    
    • 重启nexus,用刚才设置的ssl端口,访问验证
    systemctl restart nexus.service
    

    相关文章

      网友评论

          本文标题:Nexus 开启 https 访问

          本文链接:https://www.haomeiwen.com/subject/fqqlmctx.html