Hướng dẫn Bind Jenkins vào IIS trên Windows bằng Reverse Proxy
Mục tiêu
Cho phép truy cập Jenkins từ một subdomain (ví dụ
jenkins.tedu.com.vn) thay vì phải gõhttp://localhost:8080.Sử dụng IIS làm reverse proxy.
Cấu hình Jenkins lắng nghe mọi IP (
0.0.0.0) để truy cập từ bên ngoài.
Yêu cầu trước khi bắt đầu
Windows Server đã cài Jenkins (phiên bản mới).
IIS đã cài trên server.
Subdomain đã trỏ về IP server.
Quyền Admin trên Windows.
Bước 1: Cấu hình Jenkins lắng nghe mọi IP
Mở file
jenkins.xml(thường nằm trongC:\Program Files (x86)\Jenkinshoặc nơi bạn cài Jenkins).Tìm
<arguments>và chỉnh thành:
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --httpListenAddress=0.0.0.0</arguments>
Giải thích:
--httpPort=8080: cổng Jenkins sẽ lắng nghe.--httpListenAddress=0.0.0.0: cho phép tất cả các IP truy cập.
Lưu file và restart dịch vụ Jenkins bằng Services hoặc lệnh:
net stop jenkins
net start jenkins
Kiểm tra truy cập từ máy khác bằng
http://<IP_server>:8080.
Bước 2: Cài đặt IIS Reverse Proxy
2.1 Cài các module cần thiết
Mở Server Manager →
Add Roles and Features→ chọn:Web Server (IIS) nếu chưa cài.
Application Request Routing (ARR):
Cần để IIS làm reverse proxy.
URL Rewrite:
Dùng để chuyển hướng subdomain đến Jenkins.
2.2 Kích hoạt Reverse Proxy trong ARR
Mở IIS Manager.
Chọn server →
Application Request Routing Cache.Chọn Server Proxy Settings → check Enable proxy → Apply.
Bước 3: Tạo site trong IIS cho subdomain
Mở IIS Manager →
Sites→Add Website.Cấu hình:
Site name: Jenkins
Physical path: Có thể để bất kỳ thư mục trống (ví dụ
C:\inetpub\jenkins) vì IIS sẽ proxy.Binding:
Type:
httpIP address:
All UnassignedPort:
80Host name:
jenkins.tedu.com.vn
Nhấn OK.
Bước 4: Cấu hình URL Rewrite để proxy đến Jenkins
Chọn site Jenkins → double click
URL Rewrite.Chọn Add Rule(s)… →
Reverse Proxy.Nhập backend server:
http://localhost:8080Apply.
Optional: Check
Enable SSL Offloadingnếu dùng HTTPS.
Lưu ý: Nếu dùng HTTPS, cần cài SSL certificate cho subdomain trong Binding, sau đó trong ARR cũng phải chọn Enable SSL Offloading.
Bước 5: Kiểm tra và tinh chỉnh
Restart IIS:
iisreset
Truy cập
http://jenkins.tedu.com.vn.Nếu thấy Jenkins login page → thành công.
Nếu lỗi 404 hoặc không load được, kiểm tra:
URL Rewrite có rule đúng chưa.
Firewall mở port 80/443.
Jenkins đã lắng nghe
0.0.0.0:8080chưa.
Bước 6: Optional – Chặn truy cập trực tiếp IP/Port
Nếu muốn mọi người chỉ truy cập qua subdomain:
Trong Jenkins → Configure Global Security → Disable remote access từ IP trực tiếp.
Hoặc dùng firewall chặn port 8080 từ ngoài, chỉ cho IIS proxy.
Tips tối ưu
Luôn bật
Require SSLnếu public ra Internet.ARR hỗ trợ caching, load balancing nếu sau này có nhiều Jenkins node.
URL Rewrite có thể dùng để redirect HTTP → HTTPS tự động.
Nếu Jenkins chạy trên cổng khác ngoài 8080, nhớ update URL Rewrite.
Tác giả: Bạch Ngọc Toàn
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Bài viết liên quan
Hiểu về AI, LLM, RAG và Agentic RAG trong 15 phút
Trong vài năm gần đây, trí tuệ nhân tạo (AI) đã bùng nổ mạnh mẽ và trở thành tâm điểm của cả thế giới công nghệ. Nhưng đi kèm với nó là hàng loạt khái niệm mới như LLM, RAG, hay Agentic RAG khiến nhiều người mới bắt đầu cảm thấy lúng túng.
Đọc thêm
Hướng dẫn tự triển khai N8N trên CentOS bằng Docker Compose và NGINX
N8N là công cụ mã nguồn mở cho phép bạn tự động hóa quy trình làm việc (workflow automation) và tích hợp nhiều dịch vụ khác nhau mà không cần phải lập trình.
Đọc thêm
Hướng dẫn phân tích độ phức tạp thuật toán chi tiết
Độ phức tạp của giải thuật là một cách để đánh giá hiệu quả của một giải thuật dựa trên hai yếu tố chính là độ phức tạp thời gian và độ phức tạp không gian.
Đọc thêm
Bài 6. Các thao tác với XPath và Selector trong Selenium
Bài viết này hướng dẫn bạn làm việc XPath và Css Selector trong Selenium.
Đọc thêm
Bài 5. Các thao tác với Web Browser trong Selenium
Bài viết này hướng dẫn bạn làm việc sâu Web Browser trong Selenium.
Đọc thêm
Bài 4. Thực thi Javascript trong Selenium
Bài viết này hướng dẫn bạn thực thi lệnh Javascript trong Selenium.
Đọc thêm
Bài 3. Làm việc với Element trong Selenium
Bài viết này hướng dẫn bạn làm việc với Element trong Selenium.
Đọc thêm
Bài 2. Các thao tác cơ bản về Selenium
Bài viết này hướng dẫn bạn tạo dự án Selenium C# và thực hiện thao tác cơ bản.
Đọc thêm
Bài 1. Giới thiệu về Selenium
Bài viết giới thiệu sơ lược về chuỗi bài Selenium.
Đọc thêm
Bài 18. Xây dựng Docker Compose .NET Core Và SQL Server
Hướng dẫn xây dựng Docker Compose .NET Core Và SQL Server
Đọc thêm