Đối số BypassList của System.Net.WebProxy chứa các biểu thức chính quy. Mẫu như *.office.example không hợp lệ vì dấu hoa thị ở đầu không có biểu thức trước đó để lặp lại.

Đối với các yêu cầu HTTP và HTTPS tới office.example và các tên miền con của nó, cấu hình PowerShell có thể dùng:

$bypass = @('^https?://([a-z0-9-]+\.)*office\.example(:[0-9]+)?$')
$proxy = [System.Net.WebProxy]::new(
    'http://proxy.example:8080',
    $false,
    [string[]]$bypass
)

Các dấu chấm được thoát khớp với dấu chấm theo nghĩa đen. Nhóm nhãn tên máy chủ lặp lại cho phép cả tên miền gốc lẫn các tên bên dưới. Các neo giữ một tên như office.example.other.test nằm ngoài quy tắc này. Chuỗi PowerShell trong dấu nháy đơn giữ nguyên các dấu gạch chéo ngược mà biểu thức sử dụng.

Cách triển khai .NET hiện tại so khớp các biểu thức này với lược đồ, tên máy chủ và cổng không mặc định của đích. Nó không bao gồm đường dẫn yêu cầu hay chuỗi truy vấn. Vì vậy nhóm cổng tùy chọn cũng cho phép cổng không mặc định; hãy xóa hoặc thu hẹp nhóm này nếu chính sách yêu cầu một dịch vụ cụ thể.

Trong ví dụ này BypassProxyOnLocal là false để chính sách biểu thức chính quy có thể được xem xét tách biệt khỏi thiết lập bỏ qua bổ sung đó. Gắn đối tượng proxy thu được vào ứng dụng khách HTTP cần dùng nó. Đối với bài kiểm tra URL công khai được phép bên ngoài tên miền bỏ qua, một mục HTTP từ HTTP proxy list có thể cung cấp địa chỉ của nó, mà không cần tài khoản proxy nào được cấu hình.

Dùng IsBypassed với các giá trị Uri đại diện để xem xét quyết định định tuyến: tên miền gốc, một tên miền con, một máy chủ bên ngoài không liên quan và một hậu tố dài hơn gây nhầm lẫn. Kết quả true nghĩa là truy cập trực tiếp được chọn; nó không chứng minh rằng đích trực tiếp có thể tới được.

Bài viết liên quan