ข้ามไปยังเนื้อหาหลัก

กำหนดค่า proxy และ exclusions บน MacOS

คู่มือนี้อธิบายวิธีกำหนดค่าการตั้งค่า proxy และข้อยกเว้นบน MacOS เมื่อใช้ proxy แบบอิง IP รวมถึงรายการข้อยกเว้นสำหรับแอปพลิเคชันที่อาศัย WebSockets เช่น:

  • Slack
  • Lucidchart
  • Figma

แอปเหล่านี้มักทำงานล้มเหลวเมื่ออยู่หลัง proxy เช่น Squid ซึ่งไม่รองรับ WebSockets โดยค่าเริ่มต้น

วิธีด้วยตนเอง (การตั้งค่าระบบ)

  1. ไปที่ System SettingsNetwork.
  2. เลือกอินเทอร์เฟซที่ใช้งานอยู่ของคุณ (เช่น Wi‑Fi)
  3. คลิก DetailsProxies.
  4. Under web proxy (HTTP) and secure web proxy (HTTPS):
    • แทนที่proxy.company.comด้วย proxy IP ของคุณ (เช่น 192.168.1.10)
    • ตั้งค่าพอร์ต (โดยทั่วไปคือ 8080)
  5. ใน bypass domains ให้เพิ่มโดเมนที่จำเป็น (ดูด้านล่าง)
  6. คลิก 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