เพิ่มพร็อกซีไปยังโฮสต์เฉพาะใน mac เท่านั้น


10

ฉันต้องการใช้การตั้งค่าพร็อกซีกับโฮสต์เฉพาะเท่านั้น (เช่น www.apple.com) ใน Mac OS X ฉันจะทำอย่างไร

ในการตั้งค่าระบบมีเพียงตัวเลือกสำหรับการข้ามการตั้งค่าพร็อกซีสำหรับโฮสต์เฉพาะ

คำตอบ:


17

คุณสามารถใช้proxy.pacไฟล์ต่อไปนี้เพื่อส่งทราฟฟิกทั้งหมดไปที่ apple.com ผ่านพร็อกซี 1.2.3.4 ในขณะที่ยังไปยังโฮสต์อื่น ๆ ทั้งหมดโดยตรง:

function FindProxyForURL(url, host) {
    PROXY = "PROXY 1.2.3.4"

    // Apple.com via proxy
    if (shExpMatch(host,"*.apple.com")) {
        return PROXY;
    }
    // Everything else directly!
    return "DIRECT";
}
  1. บันทึกสคริปต์นี้เป็นproxy.pac(หรือชื่ออื่น ๆ ที่คุณชอบ) บนเว็บเซิร์ฟเวอร์ นี่อาจเป็นเว็บเซิร์ฟเวอร์ในท้องถิ่น ( http: //localhost/proxy.pac ) นี้จะต้องเป็นของ OSX Lion
  2. System Preferencesไปที่
  3. Networkเลือก
  4. เลือกเครือข่ายที่คุณต้องการเปลี่ยน (เช่น "WiFi")
  5. คลิกAdvanced...ปุ่ม
  6. คลิกที่Proxiesแท็บ
  7. [x] Automatic Proxy-Configurationตรวจสอบ
  8. ในURL:ฟิลด์พิมพ์ URL ของไฟล์ที่คุณได้สร้างไว้ในขั้นตอนที่ 1 http://localhost/proxy.pacตัวอย่างเช่น: (หมายเหตุ: เส้นทางท้องถิ่นจะไม่ทำงานใน OSX ที่ทันสมัย)
  9. คลิกSaveและApply

Voila! การกำหนดค่าพร็อกซีของคุณเอง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบของproxy.pacไฟล์โปรดดูที่http://en.wikipedia.org/wiki/Proxy_Auto-Configเป็นจุดเริ่มต้น


8

จริงๆแล้วคุณสามารถใช้file:///path/to/fileแบบแผนสำหรับ URL แทนที่จะต้องพึ่งพาเว็บเซิร์ฟเวอร์

ตัวอย่างเช่น:

file:///Users/youruser/var/proxy/proxy.pac

1
สิ่งที่น่าสนใจทั้งหมดนี้ใช้ได้กับ Linux / BSD เช่นกันและอาจเป็น Windows; ใช้การกำหนดค่าพร็อกซีอัตโนมัติทุกที่ซึ่งมีแนวโน้มว่าจะใช้ได้
jnbek

นี่อาจเป็นคำตอบที่ได้รับการยอมรับเนื่องจากหลีกเลี่ยงการใช้สแต็กที่ซับซ้อนเกินไปและตามความคิดเห็นที่กล่าวถึงก่อนหน้านี้ - เป็นคำตอบที่เป็นสากลมากกว่า
user239546

หากคุณใช้ไฟล์: ///...pac จากนั้นในบางแอปพลิเคชันคุณสามารถมีปัญหา (เช่นแอป Microsoft เช่นทีมและอื่น ๆ โปรดดูที่support.microsoft.com/en-us/help/4042151/ ) วิธีที่ดีที่สุดคือวางไว้ใน localhost หรือเซิร์ฟเวอร์สาธารณะใด ๆ บนอินเทอร์เน็ต
paly

1
สิ่งนี้ไม่ทำงานบน OSX
jpgeek

@jpgeek ทำงานบน 10.15 สำหรับฉัน หากคุณไม่แน่ใจให้ส่งคืน'PROXY ...'โดยไม่ตรวจสอบโดเมนเพื่อยืนยัน proxy.pacได้รับการอ่านอีกครั้งเมื่อคุณสลับ wifi
seeker_of_bacon

2

กำลังเพิ่มคำตอบของ @ heiglandreas ...

โซลูชันของ @ jnbek ไม่ทำงานบน Mac OSX สำหรับฉันและฉันกำลังมองหาวิธีแก้ปัญหาง่ายๆ

ดังนั้นฉันจึงสร้างโฟลเดอร์ใหม่และคัดลอกไฟล์แพคลงไป จากนั้นฉันเริ่มต้นเว็บเซิร์ฟเวอร์แบบง่ายบน OSX บนพอร์ต 80 จากโฟลเดอร์นั้น

เพียงไปที่โฟลเดอร์ & เรียกใช้คำสั่งนี้ โปรดเปลี่ยนพอร์ตจาก 80 เป็นอย่างอื่นถ้าพอร์ตถูกครอบครองแล้ว

python -m SimpleHTTPServer 80

ตอนนี้ผมได้อย่างง่ายดายสามารถรับไฟล์ proxy.pac http://localhost/proxy.pacจาก หรือสำหรับพอร์ตอื่นให้ใช้: http://localhost:PORT/proxy.pac.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.