사내에서 사용하고 있는 넥서스는 쿠버네티스에 올라가 있지 않고 애플리케이션으로 떠 있는데 jetty라는 was를 내장하고 있어 넥서스를 띄울 수 있다.

 

1. fullchain.pem, privkey.pem 파일이 있다는 가정하에 이 파일들을 jks 형식으로 변환해야 한다.

더보기

openssl pkcs12 -export -out [name] -in fullchain.pem -inkey privkey.pem

위 명령어를 입력하면 명령어를 날린 디렉토리에 [name]으로 지정한 파일이 하나 생성된다. 그리고 비밀번호는 123456이라고 가정한다. (jetty-https.xml 파일에서 쓰임)

 

2. keystore.jks 파일을 생성하는 인증서를 가져와야 한다.

더보기

keytool -importkeystore -srckeystore [name] -srcstoretype PKCS12 -destkeystore keystore.jks

위 명령어를 입력하면 명령어를 날린 디렉토리에 keystore.jks 라는 파일이 생성되고 위에 설정한 암호와 동일한 암호를 설정해준다. (123456)

 

(keystore.jks는 넥서스가 시작할 때 읽는 파일이다.)

 

3. etc/nexus.properties 파일을 수정해줘야 한다.

application-port-ssl=8443 행을 추가하고 nexus-args에는 ${jetty.etc}/jetty-https.xml 을 추가해준다.

더보기

nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty-http-redirect-to-https.xml

위에 형태로 들어가면 된다.

 

4. etc/jetty/jetty-https.xml 파일을 수정해줘야 한다.

더보기

<Set name="KeyStorePath"><Property name="ssl.etc" />/keystore.jks</Set>

<Set name="KeyStorePassword">123456</Set>

<Set name="KeyManagerPassword">123456</Set>

<Set name="TrustStorePath"><Property name="ssl.etc" />/keystore.jks</Set>

<Set name="TrustStorePassword">123456</Set>

아까 설정한 keystore.jks와 비밀번호를 맞게 넣어준다.

 

5. 넥서스를 재시작한다.

더보기

systemctl restart nexus

 

6. 접근이 잘 되는지 확인해본다.

더보기

https://domain:8443

위 url을 통해 넥서스에 접근이 가능하면 끝.

'Nexus' 카테고리의 다른 글

Nexus 설치  (0) 2020.08.25

+ Recent posts