BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  37 Posts :: 3 Stories :: 24 Comments :: 0 Trackbacks

Recently,our project has been undergoing process changes and some integration tools has been introduced, for example Hudson,Sonatype Nexus,Maven.According to the company's policy,we have to access the internet via the proxy settings.But the current Sonatype Nexus is using the httpclient 3 to do auth which only sopport NTLMv1.

I have tried the url NTLM Proxy Authentication and Jakarta HttpClient but still the application can  not access the internet though proxy.After googling, I found that the Httpclient 4 supports NTLMv2 out of the box. You can find the details by the following url:  Meanwhile,It seems that someone suggests using CNTLM and after some configuration and find It really works for Nexus.

First,get the latest version of CNTLM and install it according to the guide. you can configure it as below.
1. As I configure it at home,you can get a proxy here and add it in cntlm.ini like this: Proxy,you can leave the username pass and domain there and donot change anything if you donot have one.

2. start the cntlm service mannually or change the dir to the cntlm installation directory and run the command

ntlm -v to see whether  cntlm  works fine or not.

3. configure the proxy in the nexus,suppose the Listen Port defaut 3128set the Proxy Host and Port 3128,if you have username and pass and domain,please set it in cntlm.ini and need not configure it in the nexus.



4, Nexus can now get access to the internet via proxy,you can browse Views/Repositories --> Maven Central -> Browse Remote to see whether It works or not.

5. the log of nexus looks like below, It's for your ref.

2010-12-17 19:12:42 INFO  [080-Processor21] - o.s.n.c.a.DefaultNe~          - Applying Nexus Configuration...
2010-12-17 19:12:42 INFO  [080-Processor21] - o.s.n.c.v.DefaultAp~          - Nexus configuration validated succesfully.
2010-12-17 19:13:02 INFO  [ool-2-thread-15] - o.s.n.p.s.r.c.Commo~          - Remote storage settings change detected for ProxyRepository ID="central" ("Maven Central"), updating HttpClient...
2010-12-17 19:13:02 INFO  [ool-2-thread-15] - o.s.n.p.s.r.c.Commo~          - ... proxy setup with host ""
2010-12-17 19:13:02 INFO  [080-Processor21] - o.s.n.p.s.r.c.HttpC~          - ... proxy setup with host ""

6.Another tool which can help you get access to internet via proxy is ntlmaps.

NTLM Proxy Authentication and Jakarta HttpClient

NTLM support in HttpClient

Cntlm Authentication Proxy

NTLM Authorization Proxy Server

posted on 2010-12-17 21:43 Life is no respector of any genius. 阅读(1452) 评论(5)  编辑  收藏 所属分类: Maven


# re: Sonatype Nexus Auth by CNTLM[未登录] 2011-03-23 22:11 iq527
额,这个只能在*nix系统下的?  回复  更多评论

# re: Sonatype Nexus Auth by CNTLM 2011-03-24 18:46 Life is no respector of any genius.
都可以的.  回复  更多评论

# re: Sonatype Nexus Auth by CNTLM[未登录] 2011-03-24 20:52 iq527
cntlm.exe -M
全部都Credentials rejected - -|

  回复  更多评论

# re: Sonatype Nexus Auth by CNTLM 2011-03-26 11:30 Life is no respector of any genius.
你在cntlm.ini设置好一个http代理后,然后手动启动服务(ntlm -v),或者运行services.msc去启动,然后设置自己的浏览器代理为127.0.0.1:3128,就可以上网了.  回复  更多评论

# re: Sonatype Nexus Auth by CNTLM[未登录] 2012-01-13 17:41 iq527

The problem has been fixed since nexus 1.9.1-RC1, 1.9.1 ^-^  回复  更多评论