Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Eclipse proxy: Network Connections, SOCKS và lỗi 407

Eclipse proxy: Network Connections, SOCKS và lỗi 407 khi cập nhật

Chuyên viên Kỹ thuật ProxyVN 03-08-2026 Đang tính... phút đọc

Eclipse proxy là thiết lập cho IDE Eclipse kết nối Internet qua máy trung gian khi cài plugin, cập nhật và tải thư viện. ProxyVN đọc mã nguồn phần mạng của Eclipse và bộ tải file ECF tháng 10/2026, chạy thử các thuộc tính Java mà Eclipse đặt với proxy có mật khẩu. Bài chỉ ra chỗ hay lỗi và cách tách cấu hình Maven, Gradle, Git khỏi IDE.

Eclipse proxy dùng trong tình huống nào

Ba việc của Eclipse cần ra Internet

Eclipse không cần mạng để soạn và chạy mã trên máy. Nó cần mạng cho ba nhóm việc. Nhóm thứ nhất là cài và cập nhật phần mềm: menu Help, Install New Software, Check for Updates và Eclipse Marketplace. Nhóm thứ hai là công cụ dựng dự án tải thư viện, như Maven qua m2e và Gradle qua Buildship. Nhóm thứ ba là làm việc với kho mã từ xa qua EGit.

Ba nhóm này lấy cấu hình proxy từ những chỗ khác nhau. Phần lớn lỗi "đã cài proxy mà vẫn không tải được" đến từ việc chỉ cài ở một chỗ.

Khi nào cần proxy

  • Mạng công ty bắt mọi kết nối ra ngoài đi qua proxy, thường kèm tài khoản.
  • Kho cập nhật hoặc kho thư viện ở nước ngoài kết nối chậm, cần đi qua máy trung gian gần hơn.
  • Máy chủ dựng mã nằm trong mạng kín, chỉ ra Internet qua một cổng duy nhất.
  • Cần kiểm thử ứng dụng mạng đang viết qua một proxy cố định.

Với nhu cầu cuối, thường anh em không cần đổi proxy của cả IDE. Cấu hình proxy riêng trong cấu hình chạy chương trình sẽ gọn hơn, phần sau có nói.

Giới hạn của bài này

Máy thử không cài Eclipse, chỉ có Java 8 bản 1.8.0_401. Mình đọc mã nguồn bộ org.eclipse.core.net trong kho eclipse.platform và bộ tải file của dự án ECF. Phần chạy thật dùng công cụ jjs của Java 8 gửi yêu cầu qua proxy HTTP và SOCKS5 tự dựng có mật khẩu, với đúng những thuộc tính hệ thống mà mã nguồn Eclipse đặt. Hành vi trong giao diện Eclipse mình mô tả theo tài liệu chính thức, chưa thử bấm thật.

Phiên bản, nền tảng và thông tin cần chuẩn bị cho Eclipse proxy

Phiên bản Eclipse

Eclipse ra bản mới mỗi quý. Bản 2026-09 tương ứng nền tảng 4.41, ra ngày 9/9/2026. Phần proxy ít thay đổi qua các năm, nên hướng dẫn trong bài dùng được cho các bản từ vài năm gần đây. Riêng bộ tải file thì có thay đổi đáng kể: bản mới dùng bộ httpclientjava dựa trên Java 17 trở lên, bản cũ dùng thư viện Apache HttpClient.

Muốn biết bản đang dùng, vào Help, About Eclipse IDE. Các bản tải từ trang chủ đã kèm sẵn Java riêng, nên Java của máy thường không ảnh hưởng tới IDE.

Thông tin proxy cần có

  • Loại proxy: HTTP hay SOCKS5. Bài proxy HTTP và SOCKS5 giải thích khác biệt.
  • Địa chỉ, cổng, tên đăng nhập và mật khẩu.
  • Proxy dùng xác thực kiểu Basic, NTLM hay chỉ cho phép theo IP.
  • Danh sách máy nội bộ không đi qua proxy, ví dụ kho Nexus của công ty.

Bài định dạng proxy hướng dẫn đọc chuỗi ip:port:user:pass. Nếu được chọn, proxy xác thực theo IP sẽ tránh gần hết lỗi nói trong bài, lý do ở phần chẩn đoán. Xem thêm bài xác thực proxy bằng IP whitelist hay user password.

Direct, Manual hay Native

Direct, Manual hay Native

Chọn network provider và cấu hình Eclipse proxy trong Network Connections

Mở trang cấu hình

1. Mở menu Window, chọn Preferences. Trên macOS là Eclipse, Settings.

2. Mở nhánh General, chọn Network Connections.

3. Ở ô Active Provider, chọn một trong ba giá trị Direct, Manual, Native.

4. Với Manual, đánh dấu dòng HTTP hoặc HTTPS trong bảng Proxy entries, bấm Edit.

5. Nhập Host, Port. Nếu proxy có tài khoản, đánh dấu Requires Authentication rồi nhập User và Password.

6. Bấm OK, rồi Apply and Close.

Direct, Manual và Native khác nhau thế nào

Tài liệu trang Network Connections ghi ba lựa chọn. Direct mở mọi kết nối không qua proxy. Manual dùng thiết lập nhập trong Eclipse. Native dùng thiết lập phát hiện từ hệ điều hành, chỉ có trên một số nền tảng. Mặc định là Native nếu có, không có thì là Manual.

Trên Windows, mã nguồn bộ cung cấp Native gọi thư viện WinHTTP để đọc thiết lập proxy của người dùng hiện tại, cũng là thiết lập trong mục Proxy của Windows. Nó hỗ trợ cả tự phát hiện WPAD và file PAC. Ghi chú trong mã cho biết PAC chỉ trả được proxy kiểu HTTP và HTTPS. Bài PAC proxy giải thích file PAC.

Trong mạng công ty đã có proxy hệ thống, Native là lựa chọn ít việc nhất. Khi anh em dùng proxy riêng cho Eclipse mà không muốn đổi proxy của cả máy, chọn Manual.

Eclipse biến cấu hình thành thuộc tính Java

Đọc file ProxyType.java mới thấy cách Eclipse áp dụng cấu hình. Khi bật Manual, Eclipse ghi vào thuộc tính hệ thống của Java các giá trị http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort và socksProxyHost, socksProxyPort. Danh sách bỏ qua được nối bằng dấu gạch đứng rồi ghi vào http.nonProxyHosts.

Với tài khoản, Eclipse ghi http.proxyUser, http.proxyPassword và vài biến thể. Mật khẩu được lưu trong Secure Storage của Eclipse, nút /org.eclipse.core.net.proxy.auth. Điểm đáng chú ý: với SOCKS, Eclipse chỉ ghi máy và cổng. Dòng ghi chú TODO trong mã cho thấy phần tên và mật khẩu SOCKS chưa được làm.

Bảng bỏ qua proxy

Bảng Proxy bypass nhận tên máy hoặc mẫu có dấu sao. Máy khớp mẫu luôn được kết nối thẳng. Mình thử thuộc tính http.nonProxyHosts với giá trị localhost|127.*|*.test: yêu cầu tới một tên miền .test đi thẳng, không chạm tới proxy. Nên thêm localhost, 127.0.0.1 và tên miền nội bộ của công ty vào bảng này.

Bảng: Bảng bỏ qua proxy

Mục trong Eclipse

Thuộc tính Java được đặt

Ghi chú

Dòng HTTP

http.proxyHost, http.proxyPort

Dùng cho URL http

Dòng HTTPS

https.proxyHost, https.proxyPort

Dùng cho URL https

Dòng SOCKS

socksProxyHost, socksProxyPort

Không đặt tên và mật khẩu

Requires Authentication

http.proxyUser, http.proxyPassword

Mật khẩu lưu ở Secure Storage

Proxy bypass

http.nonProxyHosts

Nối bằng dấu gạch đứng

Eclipse proxy với SOCKS và bẫy ưu tiên SOCKS

Bộ tải file ưu tiên SOCKS

Phần cài đặt và cập nhật của Eclipse tải file qua ECF. Trong file HttpClientRetrieveFileTransfer.java của bộ httpclientjava có dòng ghi chú "give SOCKS priority", dẫn tới bug 295030. Mã lấy proxy SOCKS trước. Chỉ khi không có SOCKS mới lấy proxy HTTP.

Hệ quả: nếu anh em lỡ điền cả dòng HTTP lẫn dòng SOCKS, việc cài plugin và cập nhật sẽ đi SOCKS. Nếu SOCKS đó cũ hoặc sai, cập nhật lỗi dù proxy HTTP vẫn đúng. Lời khuyên đơn giản: chỉ điền một loại, để trống dòng còn lại.

Phần còn lại của Java ưu tiên HTTP

Thư viện mạng chuẩn của Java xử lý ngược lại. Mình đặt cả http.proxyHost và socksProxyHost rồi gọi một URL http, log proxy ghi yêu cầu đi qua proxy HTTP. Nghĩa là cùng một cấu hình, bộ cập nhật đi SOCKS còn plugin dùng thư viện chuẩn đi HTTP. Đây là kiểu lỗi rất khó đoán nếu không biết.

SOCKS có mật khẩu

Vì Eclipse không đặt tài khoản SOCKS, mình thử Java với socksProxyHost mà không có tài khoản. Kết quả là lỗi "SOCKS : authentication failed". Log proxy còn cho thấy một chi tiết bất ngờ: Java tự gửi tên người dùng Windows của máy làm tên đăng nhập SOCKS, kèm mật khẩu rỗng.

Khi chương trình có Authenticator trả tên và mật khẩu, kết nối SOCKS5 qua được và trả 200. Thuộc tính java.net.socks.username mà nhiều bài nhắc tới không có tác dụng trong lần thử của mình với Java 8. Bộ tải file ECF có tự đặt Authenticator khi đi SOCKS, theo mã JREProxyHelper. Còn plugin khác thì tùy cách nó viết.

Kết luận thực tế: với Eclipse, proxy SOCKS5 có mật khẩu là lựa chọn rủi ro. Dùng proxy HTTP có mật khẩu, hoặc SOCKS5 xác thực theo IP. Nếu nhất định phải dùng SOCKS5 có mật khẩu, công cụ ép ứng dụng qua proxy như trong bài Proxifier là gì là đường vòng ổn định hơn.

Bộ cập nhật ưu tiên SOCKS

Bộ cập nhật ưu tiên SOCKS

Eclipse proxy với Maven, Gradle và Git

Đây là phần plan bài yêu cầu tách bạch, cũng là phần làm nhiều người mất cả buổi.

m2e đọc settings.xml, không đọc Network Connections

Plugin Maven của Eclipse là m2e. Trong danh sách thư m2e-users của dự án, một người duy trì giải thích m2e từng hỗ trợ proxy của Eclipse nhưng đã bỏ vì khó duy trì và gây rối cho người dùng. m2e đọc proxy từ settings.xml của Maven, giống Maven chạy dòng lệnh, để kết quả dựng trong IDE và ngoài IDE giống nhau.

File thường nằm ở thư mục .m2 trong thư mục người dùng. Trong Eclipse, vào Window, Preferences, Maven, User Settings để xem m2e đang đọc file nào. Mẫu khai báo:

<settings>
  <proxies>
    <proxy>
      <id>proxy-cong-ty</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.com</host>
      <port>8080</port>
      <username>user1</username>
      <password>matkhau</password>
      <nonProxyHosts>localhost|127.0.0.1|*.noibo.local</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Sửa xong, bấm Update Settings ngay trong trang User Settings, rồi chuột phải dự án chọn Maven, Update Project. Chi tiết mã hóa mật khẩu Maven có trong bài Maven Gradle proxy.

Buildship đọc gradle.properties

Plugin Gradle của Eclipse là Buildship, chạy Gradle thật ở tiến trình riêng. Proxy cho Gradle khai báo trong file gradle.properties ở thư mục .gradle của người dùng hoặc trong dự án:

systemProp.http.proxyHost=proxy.example.com
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.example.com
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=user1
systemProp.https.proxyPassword=matkhau
systemProp.http.nonProxyHosts=localhost|127.0.0.1

Tiến trình Gradle là một máy ảo Java khác với Eclipse, nên thuộc tính Eclipse đặt trong IDE không truyền sang. Đó là lý do Buildship cần file riêng.

EGit và Git dòng lệnh

EGit dùng thư viện JGit chạy trong Eclipse. Với kho HTTPS, nó đi theo proxy của Eclipse. Với kho SSH, proxy HTTP không áp dụng. Nếu anh em dùng song song Git dòng lệnh, Git đó đọc cấu hình riêng, xem bài Git proxy.

Chương trình anh em chạy từ Eclipse

Chương trình Java chạy bằng Run As cũng là máy ảo riêng, không thừa hưởng proxy của IDE. Muốn chương trình đi proxy, mở Run Configurations, thẻ Arguments, thêm vào ô VM arguments các dòng như -Dhttps.proxyHost=proxy.example.com và -Dhttps.proxyPort=8080. Cách cấu hình proxy trong mã Java có ở bài Java proxy.

Nếu chương trình đang viết là công cụ thu thập dữ liệu cần đổi proxy liên tục, đừng đặt proxy bằng VM arguments. Thuộc tính hệ thống áp dụng cho cả tiến trình, đổi giữa chừng dễ làm các luồng chạy song song dùng nhầm proxy. Cách đúng là truyền proxy vào từng client, ví dụ HttpClient.newBuilder().proxy() của Java 11 trở lên, rồi để VM arguments trống. Khi cần chạy cùng một chương trình với nhiều proxy khác nhau để so sánh, tạo nhiều Run Configuration, mỗi cấu hình một bộ -D, đặt tên theo proxy cho dễ chọn.

Bảng: Chương trình anh em chạy từ Eclipse

Thành phần

Lấy proxy từ đâu

Cần làm gì

Cài plugin, cập nhật, Marketplace

Network Connections của Eclipse

Cấu hình Manual hoặc Native

Maven qua m2e

settings.xml

Khai báo khối proxies, Update Settings

Gradle qua Buildship

gradle.properties

Khai báo systemProp

EGit với kho HTTPS

Network Connections của Eclipse

Như cập nhật

Chương trình chạy bằng Run As

VM arguments của cấu hình chạy

Thêm -D cho từng thuộc tính

Eclipse proxy cho cả nhóm lập trình và máy dựng mã

Một người tự cấu hình thì bấm qua giao diện là xong. Một nhóm mười người, hay một máy chủ dựng mã không có màn hình, cần cách khác.

Cấu hình nằm ở file nào

Mã nguồn PreferenceManager.java cho thấy Eclipse lưu cấu hình proxy ở phạm vi configuration, không phải workspace. Nghĩa là cấu hình gắn với bản cài Eclipse, áp dụng cho mọi workspace mở bằng bản cài đó. File tương ứng là org.eclipse.core.net.prefs trong thư mục configuration, .settings của bản cài.

Tên các khóa lấy đúng theo mã nguồn: proxiesEnabled cho việc bật proxy, systemProxiesEnabled cho việc dùng proxy hệ thống, nonProxiedHosts cho danh sách bỏ qua. Thông tin từng loại proxy nằm dưới proxyData, ví dụ proxyData/HTTP/host. Giá trị mặc định của danh sách bỏ qua là localhost|127.0.0.1. Một file mẫu cho proxy riêng, không dùng proxy hệ thống:

eclipse.preferences.version=1
proxiesEnabled=true
systemProxiesEnabled=false
nonProxiedHosts=localhost|127.0.0.1|*.noibo.local
proxyData/HTTP/host=proxy.example.com
proxyData/HTTP/port=8080
proxyData/HTTP/hasAuth=false
proxyData/HTTPS/host=proxy.example.com
proxyData/HTTPS/port=8080
proxyData/HTTPS/hasAuth=false

Mật khẩu không nằm trong file này mà ở Secure Storage, nên file mẫu phù hợp nhất với proxy xác thực theo IP. Mình dựng file này theo tên khóa trong mã, chưa thử nạp vào một bản Eclipse thật. Cách an toàn là cấu hình một máy bằng giao diện, rồi chép file mà Eclipse tự sinh ra sang các máy khác.

Phát cấu hình cho cả nhóm

Nhóm nhỏ có thể đặt file cấu hình chuẩn trong kho tài liệu nội bộ, kèm hướng dẫn chép vào đúng thư mục. Nhóm lớn hơn thường đóng gói bản Eclipse dùng chung, đã chứa sẵn file cấu hình mạng và eclipse.ini đã chỉnh. Mỗi lần nhà cung cấp proxy đổi địa chỉ, chỉ cần phát lại một file.

Tài liệu của nhóm nên ghi rõ bốn chỗ phải cấu hình: Network Connections, settings.xml, gradle.properties và VM arguments của cấu hình chạy. Người mới vào nhóm hay chỉ làm chỗ đầu tiên rồi mất nửa ngày với lỗi Maven.

Máy dựng mã không có giao diện

Trên máy chủ dựng mã, Eclipse thường chỉ chạy ở chế độ không giao diện để cài plugin hoặc dựng sản phẩm. Lúc đó không có trang Preferences để bấm. Hai cách hay dùng là chép sẵn file org.eclipse.core.net.prefs vào bản cài, hoặc truyền các thuộc tính http.proxyHost, https.proxyHost qua -vmargs trên dòng lệnh.

Nếu máy dựng mã dùng Maven Tycho để dựng plugin Eclipse thì Tycho chạy trong Maven, đọc proxy từ settings.xml như Maven thường. Đây lại là một chỗ khác với Eclipse trên máy lập trình.

Bộ cài Eclipse Installer

Bộ cài Eclipse Installer là ứng dụng riêng, chạy trước khi có Eclipse. Nó tải gói từ máy chủ Eclipse nên cũng cần proxy trong mạng công ty. Trình đơn của bộ cài có mục cấu hình proxy riêng. Thiết lập ở đó không tự chuyển sang bản Eclipse cài xong, nên sau khi cài vẫn phải kiểm lại Network Connections.

Bảo vệ mật khẩu proxy

Mật khẩu trong ô Password của Eclipse được lưu trong Secure Storage, có mật khẩu chủ bảo vệ. Còn settings.xml, gradle.properties và eclipse.ini là file chữ thường, ai mở được thư mục người dùng là đọc được. Không đưa file gradle.properties chứa mật khẩu proxy vào kho mã của dự án.

Maven hỗ trợ mã hóa mật khẩu trong settings.xml. Gradle khuyên đặt thông tin nhạy cảm ở file gradle.properties trong thư mục người dùng thay vì trong dự án. Với nhóm, proxy xác thực theo IP của văn phòng loại bỏ hẳn chuyện chia sẻ mật khẩu.

Kiểm tra IP thoát và phạm vi lưu lượng thực sự qua Eclipse proxy

Kiểm proxy trước khi đưa vào Eclipse

Trước khi nhập vào Eclipse, chạy một lệnh curl từ cùng máy để chắc proxy hoạt động và biết IP thoát:

curl -x "http://user1:matkhau@proxy.example.com:8080" https://api.ipify.org

Nếu mật khẩu có ký tự đặc biệt như @ hay #, mã hóa thành %40 và %23 khi ghi trong đường dẫn. Trong ô Password của Eclipse thì nhập nguyên văn. Bài curl proxy có thêm các lệnh kiểm.

Kiểm Eclipse thật sự đi qua proxy

  • Vào Help, Check for Updates. Nếu chạy được, phần cập nhật đi qua proxy hoặc đi thẳng được.
  • Đổi Active Provider sang Direct rồi thử lại. Nếu Direct lỗi còn Manual chạy, proxy đang được dùng.
  • Mở Window, Show View, Error Log để đọc thông báo lỗi chi tiết của bộ tải file, thường ghi rõ mã 407 hay hết giờ.
  • Với proxy có trang quản lý, xem lịch sử kết nối có tên miền download.eclipse.org hay repo.maven.apache.org không.

Bật nhật ký mạng của ECF

Khi cần chi tiết hơn, Eclipse có cơ chế tracing. Vào Window, Preferences, General, Tracing, bật tracing cho các bộ org.eclipse.ecf.provider.filetransfer. Nhật ký ghi proxy được chọn cho từng lần tải, ví dụ dòng "retrieve socksproxy" khi đi SOCKS. Cách này giúp xác nhận bẫy ưu tiên SOCKS nói ở trên.

Bốn chỗ cấu hình proxy

Bốn chỗ cấu hình proxy

Chẩn đoán lỗi Eclipse proxy: sai giao thức, xác thực, DNS và hết giờ

Lỗi 407 với kho HTTPS dù mật khẩu đúng

Đây là lỗi hay gặp nhất với proxy Basic. Từ Java 8 bản cập nhật 111, Java mặc định tắt xác thực Basic cho đường hầm HTTPS qua thuộc tính jdk.http.auth.tunneling.disabledSchemes. Mình thử với Java 8: gọi https://example.com qua proxy HTTP có Authenticator đúng mật khẩu, kết quả 407. Log proxy cho thấy Java gửi CONNECT không kèm tài khoản rồi bỏ cuộc.

Cùng lệnh, thêm thuộc tính jdk.http.auth.tunneling.disabledSchemes để trống, kết quả 200. Với Eclipse, dòng tương ứng thêm vào cuối file eclipse.ini, sau dòng -vmargs:

-vmargs
-Djdk.http.auth.tunneling.disabledSchemes=
-Djdk.http.auth.proxying.disabledSchemes=

File eclipse.ini nằm cạnh file chạy eclipse.exe. Trên macOS nằm trong Eclipse.app, thư mục Contents, Eclipse. Mọi dòng -D phải đứng sau -vmargs, đặt trước thì Eclipse hiểu là tham số của chính nó. Thay đổi này nới lỏng một mặc định an toàn của Java, chỉ dùng khi proxy bắt buộc Basic.

Chỉ đặt tên và mật khẩu thì vẫn 407

Eclipse ghi tài khoản vào http.proxyUser và http.proxyPassword. Mình thử đúng cách đó: chỉ đặt hai thuộc tính này, không có Authenticator, gọi URL http qua proxy, kết quả 407. Thư viện HttpURLConnection chuẩn của Java không đọc hai thuộc tính này. Chúng chỉ có tác dụng với thư viện nào chủ động đọc, như bộ tải file ECF.

Hệ quả: plugin dùng thư viện chuẩn mà không tự xử lý xác thực sẽ báo 407 dù Eclipse đã có mật khẩu. Proxy xác thực theo IP tránh được toàn bộ lớp lỗi này.

Proxy NTLM của công ty

Mạng công ty dùng Windows hay có proxy xác thực NTLM. Mã nguồn ECF có bộ xử lý NTLM riêng cho Windows và có lớp phát hiện proxy NTLM. Nếu Eclipse vẫn không qua được proxy NTLM, cách phổ biến là chạy một proxy trung gian cục bộ như CNTLM, rồi trỏ Eclipse về 127.0.0.1 không mật khẩu.

Lỗi DNS và hết giờ

Nếu máy không phân giải được tên miền ra ngoài, kết nối qua proxy HTTP vẫn chạy vì proxy tự phân giải. Nhưng thành phần nào cấu hình đi thẳng sẽ lỗi UnknownHostException. Trong lần thử với danh sách bỏ qua *.test, đúng lỗi này xuất hiện vì tên miền đó chỉ proxy biết. Lỗi hết giờ thường do proxy chậm hoặc sai cổng. Thử bằng curl với cùng thông tin để tách lỗi Eclipse khỏi lỗi proxy.

Lỗi PKIX khi proxy công ty giải mã HTTPS

Một số proxy công ty mở gói HTTPS ra để soi rồi ký lại bằng chứng chỉ của công ty. Trình duyệt không báo gì vì máy đã được cài chứng chỉ gốc của công ty. Eclipse thì báo lỗi kiểu "PKIX path building failed" hoặc "unable to find valid certification path", vì Java đi kèm Eclipse có kho chứng chỉ riêng, không có chứng chỉ của công ty.

Trên Windows, cách gọn là cho Java dùng kho chứng chỉ của Windows bằng dòng -Djavax.net.ssl.trustStoreType=Windows-ROOT trong eclipse.ini, sau -vmargs. Cách khác là nhập chứng chỉ gốc của công ty vào kho cacerts của bản Java mà Eclipse dùng bằng công cụ keytool. Cách thứ hai phải làm lại mỗi lần Eclipse cập nhật Java đi kèm. Lỗi này không do cấu hình proxy sai, nên đổi Host, Port bao nhiêu cũng không hết.

Mật khẩu bị hỏi lại sau mỗi lần mở

Eclipse lưu mật khẩu proxy trong Secure Storage. Nếu kho này bị khóa hoặc hỏng, Eclipse hỏi lại mật khẩu. Kiểm ở Window, Preferences, General, Security, Secure Storage, thẻ Contents, nút org.eclipse.core.net.proxy.auth.

Bảng: Mật khẩu bị hỏi lại sau mỗi lần mở

Hiện tượng

Nguyên nhân hay gặp

Cách xử lý

407 với kho https, mật khẩu đúng

Java tắt Basic cho đường hầm HTTPS

Thêm disabledSchemes rỗng vào eclipse.ini

Cập nhật lỗi, Maven vẫn chạy

Dòng SOCKS cũ được ưu tiên

Xóa dòng SOCKS

Maven không tải được thư viện

m2e không đọc proxy của Eclipse

Khai báo trong settings.xml

Gradle hết giờ

Buildship chạy máy ảo riêng

Khai báo trong gradle.properties

SOCKS authentication failed

Eclipse không đặt tài khoản SOCKS

Dùng HTTP hoặc SOCKS theo IP

Proxy NTLM từ chối

Bộ tải file không thương lượng được

Chạy CNTLM cục bộ

Một cấu hình proxy trong Eclipse không phủ hết IDE. Cập nhật, Maven, Gradle và chương trình chạy thử là bốn chỗ cấu hình riêng.

Checklist Eclipse proxy và câu hỏi thường gặp về Eclipse proxy

Checklist hoàn tất

  • Kiểm proxy bằng curl, ghi lại IP thoát.
  • Network Connections: chọn Native nếu dùng proxy hệ thống, Manual nếu dùng proxy riêng.
  • Chỉ điền dòng HTTP và HTTPS, để trống dòng SOCKS nếu không thật cần.
  • Thêm localhost, 127.0.0.1 và tên miền nội bộ vào Proxy bypass.
  • Với proxy Basic và kho https: thêm hai dòng disabledSchemes vào eclipse.ini sau -vmargs.
  • Maven: khai báo settings.xml, bấm Update Settings.
  • Gradle: khai báo gradle.properties.
  • Chương trình chạy thử: thêm -D vào VM arguments.
  • Thử Check for Updates và Maven Update Project, đọc Error Log nếu lỗi.

Câu hỏi thường gặp

Eclipse có dùng proxy của Windows không. Có, khi Active Provider là Native. Trên Windows, Eclipse đọc thiết lập proxy của người dùng qua WinHTTP, gồm cả PAC và tự phát hiện.

Eclipse có hỗ trợ SOCKS5 có mật khẩu không. Ô nhập có, nhưng mã nguồn cho thấy Eclipse không đặt tài khoản SOCKS vào thuộc tính Java. Bộ cập nhật tự xử lý được, còn plugin khác thì không chắc. Ưu tiên proxy HTTP.

Cài proxy trong Eclipse có áp dụng cho Maven dòng lệnh không. Không. Ngược lại, settings.xml dùng chung cho cả Maven dòng lệnh và m2e, nên khai báo một lần ở đó là đủ cho cả hai.

Vì sao Marketplace báo lỗi còn Install New Software vẫn chạy. Marketplace gọi thêm dịch vụ web riêng để tìm kiếm, ngoài kho cập nhật. Đọc Error Log để xem tên miền bị lỗi rồi kiểm tên miền đó có nằm trong danh sách chặn của proxy công ty không.

So với IDE JetBrains thì khác gì. IntelliJ và PyCharm có nút Check connection ngay trong trang proxy, Eclipse không có. Bài PyCharm proxy mô tả cách làm bên JetBrains, còn bài VS Code proxy cho trình soạn mã của Microsoft.

Có cần proxy riêng cho Eclipse không. Trong mạng bình thường thì không. Proxy chỉ cần khi mạng bắt buộc hoặc khi kết nối tới kho ở xa quá chậm.

Đổi proxy có cần khởi động lại Eclipse không. Eclipse cập nhật thuộc tính hệ thống ngay khi bấm Apply, nên bộ cập nhật dùng cấu hình mới luôn. Nhưng plugin nào đã đọc proxy lúc khởi động và giữ lại thì vẫn dùng cấu hình cũ. Gặp hành vi lạ sau khi đổi proxy, khởi động lại cho chắc. Riêng dòng thêm vào eclipse.ini thì bắt buộc khởi động lại.

Proxy dân cư xoay IP có hợp với Eclipse không. Không hợp. Một lần cập nhật có thể tải hàng trăm file, IP đổi giữa chừng không gây lỗi nhưng làm kho Maven hay máy chủ cập nhật thấy lưu lượng lạ. Máy lập trình cần một IP cố định, ổn định, độ trễ thấp. Proxy datacenter hoặc proxy tĩnh phù hợp hơn.

Eclipse có gửi mật khẩu proxy cho máy chủ cập nhật không. Không. Tài khoản proxy chỉ đi tới máy proxy trong tiêu đề Proxy-Authorization. Máy chủ cập nhật chỉ thấy IP thoát của proxy. Riêng với proxy HTTP không mã hóa, tài khoản đi dạng mã hóa base64 trên đường từ máy tới proxy, ai nghe lén được mạng nội bộ đều đọc ra.

Khi cần proxy HTTP có tài khoản hoặc xác thực theo IP cho máy lập trình, anh em có thể mua proxy tốc độ cao tại trang chủ ProxyVN rồi kiểm bằng curl trước khi nhập vào Eclipse.

Checklist Eclipse proxy

Checklist Eclipse proxy

Eclipse proxy và những điều cần nhớ

Eclipse proxy trong Network Connections chỉ lo cập nhật, Marketplace và EGit HTTPS. Maven đọc settings.xml, Gradle đọc gradle.properties, chương trình chạy thử cần VM arguments. Bộ cập nhật ưu tiên SOCKS, nên chỉ điền một loại. Proxy Basic với kho HTTPS cần dòng disabledSchemes trong eclipse.ini. Cần proxy ổn định, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.

TIN TỨC LIÊN QUAN