ใน Windows คุณสามารถให้บริการที่เก็บ Git ด้วย Apache ผ่าน HTTP หรือ HTTPS โดยใช้ส่วนขยาย DAV
จากนั้นเส้นทางที่เก็บ Git สามารถป้องกันได้ด้วยการตรวจสอบการพิสูจน์ตัวตน Apache เช่นการ จำกัด เฉพาะที่อยู่ IP หรือการพิสูจน์ตัวตนประเภท htpasswd / htdigest
ข้อ จำกัด ของการใช้การตรวจสอบความถูกต้อง htpasswd / htdigest คือชื่อผู้ใช้: รหัสผ่านจะถูกส่งไปใน Git URL ที่ร้องขอดังนั้นการ จำกัด การเข้าถึง Git URL สำหรับที่อยู่ IP บางรายการจะดีกว่า
แก้ไข:โปรดทราบว่าคุณสามารถปล่อยรหัสผ่านออกจาก Git URL และ Git จะแจ้งให้คุณป้อนรหัสผ่านเมื่อกดและดึง / ดึงแทน
การใช้ HTTPS หมายความว่าข้อมูลทั้งหมดจะถูกเข้ารหัสในการถ่ายโอน
ง่ายพอที่จะตั้งค่าและใช้งานได้
ตัวอย่างต่อไปนี้แสดงการรวมกันของการควบคุมการเข้าถึงตามที่อยู่ IP และผู้ใช้: รหัสผ่านผ่าน HTTP มาตรฐาน
ตัวอย่าง Apache Virtualhost
## GIT HTTP DAV ##
<VirtualHost *:80>
ServerName git.example.com
DocumentRoot C:\webroot\htdocs\restricted\git
ErrorLog C:\webroot\apache\logs\error-git-webdav.log
<Location />
DAV on
# Restrict Access
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "C:\webroot\apache\conf\git-htpasswd"
# To valid user
Require valid-user
# AND valid IP address
Order Deny,Allow
Deny from all
# Example IP 1
Allow from 203.22.56.67
# Example IP 2
Allow from 202.12.33.44
# Require both authentication checks to be satisfied
Satisfy all
</Location>
</VirtualHost>
ตัวอย่าง. git / config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = http://username:password@git.example.com/codebase.git
[branch "master"]
remote = origin
merge = refs/heads/master