กำหนดค่า proxy และ exclusions บน MacOS
คู่มือนี้อธิบายวิธีกำหนดค่าการตั้งค่า proxy และข้อยกเว้นบน MacOS เมื่อใช้ proxy แบบอิง IP รวมถึงรายการข้อยกเว้นสำหรับแอปพลิเคชันที่อาศัย WebSockets เช่น:
- Slack
- Lucidchart
- Figma
แอปเหล่านี้มักทำงานล้มเหลวเมื่ออยู่หลัง proxy เช่น Squid ซึ่งไม่รองรับ WebSockets โดยค่าเริ่มต้น
วิธีด้วยตนเอง (การตั้งค่าระบบ)
- ไปที่ System Settings → Network.
- เลือกอินเทอร์เฟซที่ใช้งานอยู่ของคุณ (เช่น Wi‑Fi)
- คลิก Details → Proxies.
- Under web proxy (HTTP) and secure web proxy (HTTPS):
- แทนที่
proxy.company.comด้วย proxy IP ของคุณ (เช่น192.168.1.10) - ตั้งค่าพอร์ต (โดยทั่วไปคือ
8080)
- แทนที่
- ใน bypass domains ให้เพิ่มโดเมนที่จำเป็น (ดูด้านล่าง)
- คลิก OK แล้วคลิก Apply.
สคริปต์นี้ทำอะไร
- ใช้การตั้งค่า proxy กับ อินเทอร์เฟซเครือข่ายทั้งหมด
- ตั้งค่า proxy สำหรับ HTTP และ HTTPS
- กำหนดรายการของbypass domainsที่จะไม่ใช้ proxy
- เหมาะสำหรับใช้ร่วมกับ
networksetupและอุปกรณ์ที่จัดการด้วย MDM
วิธีแบบสคริปต์ (bash)
#!/bin/bash
# Define proxy server and port
PROXY="192.168.1.10"
PORT="8080"
# Domains to exclude from proxy — especially for WebSocket-based apps
EXCLUSIONS="localhost,127.0.0.1,*.microsoftonline.com,*.core.windows.net,*.slack.com,*.figma.com,*.lucidchart.com,*.lucid.app"
# Get all active network services
services=$(networksetup -listallnetworkservices | tail +2)
# Apply settings per service
for service in $services; do
echo "Setting proxy for: $service"
networksetup -setwebproxy "$service" "$PROXY" "$PORT"
networksetup -setsecurewebproxy "$service" "$PROXY" "$PORT"
networksetup -setproxybypassdomains "$service" $(echo $EXCLUSIONS | tr "," " ")
done