عربيالفرنسيةالإسبانية

Ad


OnWorks فافيكون

haproxy-lua - عبر الإنترنت في السحابة

قم بتشغيل haproxy-lua في مزود الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر haproxy-lua الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


haproxy-lua - توثيق haproxy-lua

سعيد MOON الركض و المشي السياقات


يمكن معالجة كود Lua المنفذ في HAProxy في وضعين رئيسيين. أول واحد هو
التهيئة طريقة، والثاني هو وقت التشغيل طريقة.

· في ال التهيئة طريقة، يمكننا تنفيذ حلول DNS ، لكن لا يمكننا تنفيذ إدخال / إخراج المقبس.
في وضع التهيئة هذا ، لا يزال HAProxy محظورًا أثناء تنفيذ Lua
برنامج.

· في ال وقت التشغيل طريقة، لا يمكننا تنفيذ حلول DNS ، لكن يمكننا استخدام مآخذ التوصيل. ال
يتم مضاعفة تنفيذ كود Lua مع معالجة الطلبات ، وبالتالي فإن كود Lua
يبدو أنه يعمل في الحجب ، لكن الأمر ليس كذلك.

يتم تحميل كود Lua في ملف واحد أو أكثر. تحتوي هذه الملفات على التعليمات البرمجية والوظائف الرئيسية.
لوا 6 سياق تنفيذ.

1. ملف Lua الجسدي سياق الكلام. يتم تنفيذه أثناء تحميل ملف Lua في ملف
HAProxy [عالمي] قسم مع التوجيه تحميل lua. يتم تنفيذه في التهيئة
وضع. يستخدم هذا القسم لتكوين روابط Lua في HAProxy.

2. لوا الحرف الأول سياق الكلام. إنها وظيفة Lua يتم تنفيذها بعد HAProxy مباشرة
تحليل التكوين. التنفيذ في وضع التهيئة. في هذا السياق ، فإن
تمت تهيئة بيئة HAProxy بالفعل. من المفيد التحقق من التكوين ، أو
تهيئة اتصالات المقبس أو المهام. يتم الإعلان عن هذه الوظائف في الجسم
السياق مع وظيفة Lua core.register_init (). النموذج الأولي للوظيفة هو أ
دالة بسيطة بدون قيمة إرجاع وبدون معلمات ، مثل هذا: وظيفة fcn ().

3. لوا مهمة سياق الكلام. إنها وظيفة Lua يتم تنفيذها بعد بدء HAProxy
المجدول ، وبعد إعلان المهمة بوظيفة Lua
core.register_task (). يمكن أن يكون هذا السياق متزامنًا مع معالجة حركة المرور. إنها
تم تنفيذه في وضع وقت التشغيل. النموذج الأولي للوظيفة هو دالة بسيطة بدونها
إرجاع القيمة وبدون معلمات ، مثل هذا: وظيفة fcn ().

4. ال عمل سياق الكلام. إنها دالة Lua يتم تنفيذها بشكل مشروط. هذه الإجراءات
مسجلة بواسطة توجيهات Lua "core.register_action ()". النموذج الأولي لل Lua
دالة تسمى دالة لا تقوم بإرجاع أي شيء وتأخذ كائنًا من
فئة TXN كإدخال. وظيفة fcn (txn).

5. ال عينة إحضار سياق الكلام. تأخذ هذه الوظيفة كائن TXN كوسيطة إدخال و
إرجاع سلسلة. لا يمكن لهذه الأنواع من الوظائف تنفيذ أي وظيفة حظر. هم
من المفيد تجميع بعض عمليات جلب عينات HAProxy الأصلية وإرجاع النتيجة.
النموذج الأولي للوظيفة هو وظيفة سلسلة fcn (txn). يمكن أن تكون هذه الوظائف
مسجلة في وظيفة Lua core.register_fetches (). كل عملية جلب عينة معلن عنها هي
مسبوقة بالسلسلة "lua.".

ملحوظة: من الممكن ألا تتمكن هذه الوظيفة من العثور على البيانات المطلوبة في الأصل
عمليات جلب عينة HAProxy ، في هذه الحالة ، لا يمكنها إرجاع النتيجة. هذه الحالة ليست بعد
أيد

6. ال محول سياق الكلام. إنها دالة Lua تأخذ سلسلة كمدخلات وترجع
سلسلة أخرى كإخراج. هذه الأنواع من الوظائف عديمة الحالة ، ولا يمكن الوصول إليها
أي سياق. لا يقومون بتنفيذ أي وظيفة حظر. نموذج المكالمة هو وظيفة
سلسلة fcn (سلسلة نصية). يمكن تسجيل هذه الوظيفة بوظيفة Lua
core.register_converters (). كل محول مصرح به مسبوق بالسلسلة "lua.".

سعيد MOON مرحبا العالم


ملف تكوين HAProxy (hello_world.conf):

شامل
lua-load hello_world.lua

استمع الوكيل
ربط 127.0.0.1:10001
tcp-request فحص-تأخير 1s
طلب استخدام محتوى برنامج التعاون الفني lua.hello_world

ملف HAProxy Lua (hello_world.lua):

core.register_service ("hello_world" ، "tcp" ، الوظيفة (التطبيق الصغير)
التطبيق الصغير: إرسال ("مرحبًا بالعالم \ n")
النهاية)

كيف تبدأ HAProxy لاختبار هذا التكوين:

./haproxy -f hello_world.conf

على محطة طرفية أخرى ، يمكنك الاختبار باستخدام telnet:

#: ~ telnet 127.0.0.1 10001
مرحبا العالم

فئة جوهر()
تحتوي الفئة "الأساسية" على جميع وظائف HAProxy الأساسية. هذه الوظيفة مفيدة
للتحكم في تدفق التنفيذ ، وتسجيل الخطافات ، ومعالجة الخرائط العالمية
أو ACL ، ...

يتم توفير فئة "الأساسية" بشكل أساسي مع HAProxy. لا تطلب الخط مطلوب ل
يستخدم هذه الوظيفة.

الفئة "الأساسية" ثابتة ، ولا يمكن إنشاء كائن جديد من هذا النوع.

الأساسية

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة "الطوارئ" على مستوى السجل
(0).

الأساسية. التنبيه

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة "تنبيه" مستوى السجل (1).

نواة

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة مستوى السجل "الحرج" (2).

الأساسية

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة "خطأ" مستوى السجل (3).

الأساسية. تحذير

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة "تحذير" مستوى السجل (4).

الأساسية

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة "إشعار" مستوى السجل (5).

معلومات أساسية

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة مستوى السجل "info" (6).

الأساسية

الإسترجاع :
عدد صحيح

هذه السمة هي عدد صحيح ، وتحتوي على قيمة مستوى السجل "التصحيح" (7).

core.log (loglevel ، رسالة)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

هذه الوظيفة ترسل سجل. يتم إرسال السجل وفقًا لـ HAProxy
ملف التكوين ، على خادم سجل النظام الافتراضي إذا تم تكوينه وعلى ملف
stderr إذا سمح.

الحجج

· مستوى السجل (عدد صحيح) - هل مستوى السجل مرتبط بالرسالة. إنها
العدد بين 0 و 7.

· MSG (سلسلة) - محتوى السجل.

يرى core.emerg ، core.alert ، core.crit ، core.err ، core. warning ، core.notice ،
core.info ، core.debug (تعريفات مستوى السجل)

يرى كود

يرى الأساسية

يرى الأساسية

يرى الأساسية

الأساسية(رسالة)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

الحجج

· MSG (سلسلة) - محتوى السجل.

يرى سجل

يقوم بنفس الوظيفة مما يلي:

وظيفة تصحيح(رسالة)
core.log (core.debug ، msg)
النهاية

الأساسية(رسالة)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

الحجج

· MSG (سلسلة) - محتوى السجل.

يرى سجل

وظيفة معلومات(رسالة)
core.log (core.info ، msg)
النهاية

الأساسية(رسالة)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

الحجج

· MSG (سلسلة) - محتوى السجل.

يرى سجل

وظيفة تحذير(رسالة)
core.log (core. warning ، msg)
النهاية

الأساسية(رسالة)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

الحجج

· MSG (سلسلة) - محتوى السجل.

يرى سجل

وظيفة ملاحظه(رسالة)
core.log (core.alert ، msg)
النهاية

core.add_acl (اسم الملف ، مفتاح)
سياق الكلام: init، مهمة، عمل، sample-fetch، converter

أضف ACL مفتاح في قائمة ACL المشار إليها بواسطة الملف اسم الملف.

الحجج

· اسم الملف (سلسلة) - اسم الملف الذي يشير إلى إدخالات قائمة التحكم بالوصول (ACL).

· مفتاح (سلسلة) - المفتاح الذي سيتم إضافته.

core.del_acl (اسم الملف ، مفتاح)
سياق الكلام: init، مهمة، عمل، sample-fetch، converter

حذف إدخال ACL المشار إليه بواسطة المفتاح مفتاح في قائمة قوائم ACL المشار إليها بواسطة
اسم الملف.

الحجج

· اسم الملف (سلسلة) - اسم الملف الذي يشير إلى إدخالات قائمة التحكم بالوصول (ACL).

· مفتاح (سلسلة) - المفتاح الذي سيتم حذفه.

core.del_map (اسم الملف ، مفتاح)
سياق الكلام: init، مهمة، عمل، sample-fetch، converter

احذف إدخال الخريطة المفهرس بالمفتاح المحدد في قائمة الخرائط المشار إليها
باسم ملفه.

الحجج

· اسم الملف (سلسلة) - اسم الملف الذي يشير إلى إدخالات الخريطة.

· مفتاح (سلسلة) - المفتاح الذي سيتم حذفه.

جوهر النوم(مللي ثانية)
سياق الكلام: الجسم ، والتهيئة ، والمهمة ، والعمل

core.msleep () يوقف تنفيذ Lua بين مللي ثانية المحدد.

الحجج

· ميلي ثانية (عدد صحيح) - المللي ثانية المطلوبة.

core.register_action (الاسم ، أجراءات، وظيفة)
سياق الكلام: جسم

قم بتسجيل وظيفة Lua المنفذة كإجراء. يمكن استخدام جميع الإجراءات المسجلة
في HAProxy بالبادئة "lua.". يحصل الإجراء على فئة كائن TXN كمدخلات.

الحجج

· الاسم (سلسلة) - هو اسم المحول.

· الإجراءات (جدول) - هو جدول سلسلة يصف إجراءات HAProxy who
تريد التسجيل في. الإجراءات المتوقعة هي "tcp-req" و "tcp-res" و
"http-req" أو "http-res".

· ظائفها (وظيفة) - هل تم استدعاء وظيفة Lua للعمل كمحول.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

وظيفة (txn)

·

TXN (TXN فئة): is a TXN موضوع مستعمل For التلاعب ال
الطلب الحالي أو تيار TCP.

هنا ، مثال على تسجيل العمل. الإجراء مجرد إرسال "Hello world" في
السجلات.

core.register_action ("hello-world"، {"tcp-req"، "http-req"}، function (txn)
txn: معلومات ("Hello world")
النهاية)
يتم استخدام رمز المثال هذا في تكوين HAproxy مثل هذا:

الواجهة الأمامية tcp_frt
وضع برنامج التعاون الفني
محتوى طلب TCP lua.hello-world

الواجهة الأمامية http_frt
وضع http
http- طلب lua.hello- العالم

core.register_converters (الاسم ، وظيفة)
سياق الكلام: جسم

قم بتسجيل وظيفة Lua المنفذة كمحول. يمكن أن تكون جميع المحولات المسجلة
مستخدمة في HAProxy مع البادئة "lua.". يحصل المحول على سلسلة كمدخلات و
إرجاع سلسلة كإخراج. يمكن أن تستغرق الوظيفة المسجلة ما يصل إلى 9 قيم كملف
معامل. كل القيمة سلاسل.

الحجج

· الاسم (سلسلة) - هو اسم المحول.

· ظائفها (وظيفة) - هل تم استدعاء وظيفة Lua للعمل كمحول.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

دالة (str، [p1 [، p2 [، ... [، p5]]]])

· شارع (سلسلة): هذه هي قيمة الإدخال التي يتم تحويلها تلقائيًا في السلسلة.

· p1 .. p5 (سلسلة): هذه قائمة من وسيطات السلسلة المعلنة في haroxy
ملف الضبط. لا يتجاوز عدد الوسائط 5. الترتيب و
يتم اختيار طبيعة هذه بشكل تقليدي من قبل المطور.

core.register_fetches (الاسم ، وظيفة)
سياق الكلام: جسم

قم بتسجيل دالة Lua التي تم تنفيذها على أنها عملية إحضار عينة. يتم إحضار جميع العينات المسجلة
يمكن استخدامها في HAProxy مع البادئة "lua.". يقوم جلب عينة Lua بإرجاع سلسلة
كإخراج. يمكن أن تستغرق الوظيفة المسجلة ما يصل إلى 9 قيم كمعامل. كل ال
القيمة هي سلاسل.

الحجج

· الاسم (سلسلة) - هو اسم المحول.

· ظائفها (وظيفة) - هل تم استدعاء دالة Lua للعمل كإحضار عينة.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

دالة السلسلة (txn، [p1 [، p2 [، ... [، p5]]]])

· TXN (TXN فئة): هذا هو كائن txn المرتبط بالطلب الحالي.

· p1 .. p5 (سلسلة): هذه قائمة من وسيطات السلسلة المعلنة في haroxy
ملف الضبط. لا يتجاوز عدد الوسائط 5. الترتيب و
يتم اختيار طبيعة هذه بشكل تقليدي من قبل المطور.

· الإسترجاع :: سلسلة تحتوي على بعض البيانات ، لا شيء إذا كانت القيمة لا يمكن إرجاعها الآن.

كود المثال lua:

core.register_fetches ("مرحبًا" ، الوظيفة (txn)
العودة "مرحبا"
النهاية)
تكوين مثال HAProxy:

مثال على الواجهة الأمامية
طلب http-request إعادة توجيه الموقع /٪[lua.hello]

core.register_service (الاسم ، الوضع، وظيفة)
سياق الكلام: جسم

قم بتسجيل وظيفة Lua المنفذة كخدمة. يمكن أن تكون جميع الخدمات المسجلة
مستخدمة في HAProxy مع البادئة "lua.". تحصل الخدمة على فئة كائن كمدخلات
حسب الوضع المطلوب.

الحجج

· الاسم (سلسلة) - هو اسم المحول.

· طريقة (سلسلة) - عبارة عن سلسلة تصف الوضع المطلوب. فقط "tcp" أو
يُسمح بـ "http".

· ظائفها (وظيفة) - هل تم استدعاء وظيفة Lua للعمل كمحول.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

وظيفة (صغير)

· بريمج بريمج سيكون أبليت تي سي بي فئة أو التطبيق الصغير فئة. هذا يعتمد على النوع
من الصغير المسجل. برنامج صغير مسجل بقيمة "http" لملف طريقة
ستحصل المعلمة على ملف التطبيق الصغير فئة. إذا كان طريقة القيمة هي "tcp" ، سوف الصغير
يحصل على أبليت تي سي بي فئة.

تحذير: لا يمكن استدعاء التطبيقات الصغيرة من النوع "http" من "tcp-' القواعد. فقط ال 'http-'
تم التصريح بمجموعات القواعد ، وهذا يعني أنه لا يمكن استدعاء تطبيق HTTP الصغير من ملف
الوكيل في وضع TCP. يمكن استدعاء التطبيقات الصغيرة من النوع "tcp" من أي مكان.

هنا ، مثال على تسجيل الخدمة. الخدمة فقط أرسل رسالة "Hello world" باعتبارها
استجابة http.

core.register_service ("hello-world" ، "http" ، الوظيفة (التطبيق الصغير)
استجابة محلية = "Hello World!"
صغير:تعيين الحالة200
الصغير: add_header ("طول المحتوى" ، string.len (استجابة))
التطبيق الصغير: add_header ("نوع المحتوى" ، "نص / عادي")
التطبيق الصغير: start_response ()
الصغير: إرسال (استجابة)
النهاية)
يتم استخدام رمز المثال هذا في تكوين HAproxy مثل هذا:

مثال على الواجهة الأمامية
طلب استخدام خدمة المتشعب lua.hello-world

core.register_init (func)
سياق الكلام: جسم

قم بتسجيل وظيفة تم تنفيذها بعد تحليل التكوين. هذا مفيد ل
تحقق من أي معلمات.

الحجج

· ظائفها (وظيفة) - هل تم استدعاء وظيفة Lua للعمل كمُهيئ.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

وظيفة()
لا يتطلب أي مدخلات ، ولا يتوقع أي إخراج.

core.register_task (func)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

سجل وابدأ مهمة مستقلة. تبدأ المهمة عند تشغيل ملف HAProxy الرئيسي
يبدأ المجدول. على سبيل المثال ، يمكن تنفيذ هذا النوع من المهام لأداء معقدة
فحوصات طبية.

الحجج

· ظائفها (وظيفة) - هل تم استدعاء وظيفة Lua للعمل كمُهيئ.

النموذج الأولي لوظيفة Lua المستخدمة كوسيطة هو:

وظيفة()
لا يتطلب أي مدخلات ، ولا يتوقع أي إخراج.

core.set_nice (لطيف)
سياق الكلام: مهمة، عمل، نموذج لجلب، محول

تغيير لطيف المهمة الحالية أو الدورة الحالية.

الحجج

· رحلة جميلة (عدد صحيح) - قيمة لطيفة ، يجب أن تتراوح بين -1024 و 1024.

core.set_map (اسم الملف ، مفتاح، القيمة)
سياق الكلام: init، مهمة، عمل، sample-fetch، converter

حدد القيمة قيمنا المرتبطة بالمفتاح مفتاح في الخريطة المشار إليها بواسطة اسم الملف.

الحجج

· اسم الملف (سلسلة) - مرجع الخريطة

· مفتاح (سلسلة) - مفتاح التعيين أو الاستبدال

· قيمنا (سلسلة) - القيمة المرتبطة

core.sleep (int ثواني)
سياق الكلام: الجسم ، والتهيئة ، والمهمة ، والعمل

core.sleep () وظائف توقف تنفيذ Lua بين الثواني المحددة.

الحجج

· ثواني (عدد صحيح) - الثواني المطلوبة.

core.tcp ()
سياق الكلام: init، مهمة، عمل

تقوم هذه الوظيفة بإرجاع كائن جديد لـ مقبس فئة.

الإسترجاع :
A البريزة فئة موضوع.

core.done (بيانات)
سياق الكلام: الجسم ، الحرف الأول ، المهمة ، الإجراء ، نموذج الجلب ، المحول

الحجج

· البيانات (أي وقت) - إعادة بعض البيانات للمتصل. من المفيد مع
عمليات جلب العينات ومحولات العينات.

يوقف تنفيذ Lua الحالي على الفور ويعود إلى المتصل الذي قد يكون كذلك
إحضار عينة أو محول أو إجراء وإرجاع القيمة المحددة (تم تجاهلها
للإجراءات). يتم استخدامه عندما تنتهي عملية LUA من عملها وترغب في العطاء
أعد التحكم إلى HAProxy بدون تنفيذ الكود المتبقي. يمكن رؤيتها على أنها
متعدد المستويات "عودة".

core.yield ()
سياق الكلام: مهمة، عمل، نموذج لجلب، محول

أعد يدك إلى جدولة HAProxy. يتم استخدامه عند معالجة LUA
يستهلك الكثير من وقت المعالجة.

فئة فتش ()
تحتوي هذه الفئة على الكثير من عمليات جلب عينة HAProxy الداخلية. انظر HAProxy
وثائق "config.txt" لمزيد من المعلومات حول استخدامها. هم
الفصول 7.3.2 إلى 7.3.6.

تحذير بعض عمليات جلب العينات غير متوفرة في بعض السياق. هذه القيود
محددة في هذه الوثائق عندما تكون مفيدة.

يرى TXN.f

يرى TXN.sf

عمليات الجلب مفيدة في:

· الحصول على وقت النظام ،

· الحصول على متغير البيئة ،

· الحصول على أرقام عشوائية ،

حالة الخلفية المعروفة مثل عدد المستخدمين في قائمة الانتظار أو عدد
إقامة اتصالات ،

· معلومات العميل مثل مصدر IP أو الوجهة ،

· التعامل مع الطاولات اللاصقة ،

· معلومات SSL المنشأة ،

· معلومات HTTP مثل الرؤوس أو الطريقة.

عمل الوظيفة (txn)
- احصل على IP المصدر
العميل المحلي = txn.f: src ()
النهاية

فئة المحولات ()
تحتوي هذه الفئة على الكثير من محولات عينة HAProxy الداخلية. انظر HAProxy
وثائق "config.txt" لمزيد من المعلومات حول استخدامها. انها ال
الفصل 7.3.1.

يرى TXN.c

يرى TXN.sc

توفر المحولات تحولًا كاملًا. إنها مفيدة لـ:

تحويل المدخلات إلى base64 ،

· تطبيق التجزئة على سلسلة الإدخال (djb2 ، crc32 ، sdbm ، wt6) ،

· تنسيق التاريخ ،

هروب json ،

· استخلاص اللغة المفضلة مقارنة بين قائمتين.

· انتقل إلى الأحرف السفلية أو العلوية ،

· التعامل مع طاولات العصا.

فئة قناة()
يستخدم HAProxy مخازن مؤقتة لمعالجة الطلبات. تم استخدام أول واحد
مع بيانات الطلب (من العميل إلى الخادم) ويتم استخدام الثانية من أجل
بيانات الاستجابة (من الخادم إلى العميل).

يحتوي كل مخزن مؤقت على نوعين من البيانات. النوع الأول هو انتظار البيانات الواردة
للمعالجة. الجزء الثاني هو البيانات الصادرة التي تمت معالجتها بالفعل. عادة،
تتم معالجة البيانات الواردة ، بعد أن يتم تمييزها على أنها بيانات صادرة ، وأخيرًا
أرسل. توفر الوظائف التالية أدوات لمعالجة هذه البيانات في ملف
العازلة.

يوضح الرسم البياني التالي مكان تطبيق وظيفة فئة القناة.

تحذير: لا يمكن القراءة من الرد في طلب إجراء ، وهو كذلك
لا يمكن قراءتها لقناة الطلب استجابةً لإجراء الاستجابة.
[صورة]

Channel.dup (قناة)
تقوم هذه الدالة بإرجاع سلسلة تحتوي على المخزن المؤقت بأكمله. البيانات ليست كذلك
إزالتها من المخزن المؤقت ويمكن إعادة معالجتها لاحقًا.

إذا تعذر على المخزن المؤقت تلقي المزيد من البيانات ، يتم إرجاع قيمة "لا شيء".

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

الإسترجاع :
سلسلة تحتوي على جميع البيانات المتاحة أو لا شيء.

Channel.get (قناة)
تقوم هذه الدالة بإرجاع سلسلة تحتوي على المخزن المؤقت بأكمله. يتم استهلاك البيانات
من المخزن المؤقت.

إذا تعذر على المخزن المؤقت تلقي المزيد من البيانات ، يتم إرجاع قيمة "لا شيء".

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

الإسترجاع :
سلسلة تحتوي على جميع البيانات المتاحة أو لا شيء.

Channel.getline (قناة)
تقوم هذه الدالة بإرجاع سلسلة تحتوي على السطر الأول من المخزن المؤقت. البيانات
تم إستهلاكه. إذا كانت البيانات التي تم إرجاعها لا تحتوي على حرف "n" نهائي فهو المفترض منه
آخر البيانات المتاحة في المخزن المؤقت.

إذا تعذر على المخزن المؤقت تلقي المزيد من البيانات ، يتم إرجاع قيمة "لا شيء".

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

الإسترجاع :
سلسلة تحتوي على السطر المتاح أو لا شيء.

Channel.set (قناة ، خيط)
هذه الوظيفة تستبدل محتوى المخزن المؤقت بالسلسلة. ترجع الدالة
الطول المنسوخ ، وإلا فسيتم إرجاع -1.

لا يتم إرسال مجموعة البيانات مع هذه الوظيفة. ينتظرون نهاية HAProxy
المعالجة ، لذلك يمكن أن يكون المخزن المؤقت ممتلئًا.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

· سلسلة (سلسلة) - البيانات التي سيتم إرسالها.

الإسترجاع :
عدد صحيح يحتوي على مقدار البايت المنسوخ أو -1.

Channel.append (قناة ، خيط)
تقوم هذه الوظيفة بإلحاق وسيطة السلسلة بمحتوى المخزن المؤقت. الوظيفة
تُرجع الطول المنسوخ ، وإلا فإنها تُرجع -1.

لا يتم إرسال مجموعة البيانات مع هذه الوظيفة. ينتظرون نهاية HAProxy
المعالجة ، لذلك يمكن أن يكون المخزن المؤقت ممتلئًا.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

· سلسلة (سلسلة) - البيانات التي سيتم إرسالها.

الإسترجاع :
عدد صحيح يحتوي على مقدار البايت المنسوخ أو -1.

Channel.send (قناة ، خيط)
تتطلب هذه الوظيفة إرسالًا فوريًا للبيانات. ما لم يكن الاتصال
عند الإغلاق ، يتم مسح المخزن المؤقت بانتظام ويمكن إرسال كل السلسلة.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

· سلسلة (سلسلة) - البيانات التي سيتم إرسالها.

الإسترجاع :
عدد صحيح يحتوي على مقدار البايت المنسوخ أو -1.

Channel.get_in_length (قناة)
ترجع هذه الدالة طول جزء الإدخال من المخزن المؤقت.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

الإسترجاع :
عدد صحيح يحتوي على مقدار البايت المتاح.

Channel.get_out_length (قناة)
تقوم هذه الوظيفة بإرجاع طول جزء الإخراج من المخزن المؤقت.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

الإسترجاع :
عدد صحيح يحتوي على مقدار البايت المتاح.

Channel.forward (قناة ، كثافة العمليات)
تقوم هذه الوظيفة بنقل البايتات من جزء الإدخال في المخزن المؤقت إلى جزء الإخراج.

الحجج

· قناة (class_channel) - القناة التي تم التلاعب بها.

· مادبا (عدد صحيح) - مقدار البيانات التي سيتم إعادة توجيهها.

فئة HTTP ()
تحتوي هذه الفئة على جميع وظائف معالجة HTTP.

HTTP.req_get_headers (http)
إرجاع مصفوفة تحتوي على جميع رؤوس الطلبات.

الحجج

· HTTP (class_http) - كائن http المرتبط.

الإسترجاع :
مجموعة من الرؤوس.

يرى HTTP.res_get_headers ()

هذا هو شكل المصفوفة التي تم إرجاعها:

HTTP: req_get_headers () [' '] [ ] = " "

hdr المحلي = HTTP: req_get_headers ()
hdr ["host"] [0] = "www.test.com"
hdr ["Accept"] [0] = "audio / basic q = 1"
hdr ["Accept"] [1] = "audio / *، q = 0.2"
hdr ["قبول"] [2] = "* / * ، q = 0.1"

HTTP.res_get_headers (http)
إرجاع مصفوفة تحتوي على كافة رؤوس الاستجابة.

الحجج

· HTTP (class_http) - كائن http المرتبط.

الإسترجاع :
مجموعة من الرؤوس.

يرى HTTP.req_get_headers ()

هذا هو شكل المصفوفة التي تم إرجاعها:

HTTP: res_get_headers () [' '] [ ] = " "

hdr المحلي = HTTP: req_get_headers ()
hdr ["host"] [0] = "www.test.com"
hdr ["Accept"] [0] = "audio / basic q = 1"
hdr ["Accept"] [1] = "audio / *، q = 0.2"
hdr ["قبول"] [2] = "*. * ، q = 0.1"

HTTP.req_add_header (http ، اسم، القيمة)
لإلحاق حقل رأس HTTP في الطلب الذي تم تحديد اسمه في "name" و
التي يتم تحديد قيمتها في "القيمة".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· قيمنا (سلسلة) - قيمة الرأس.

يرى HTTP.res_add_header ()

HTTP.res_add_header (http ، اسم، القيمة)
لإلحاق حقل رأس HTTP في الاستجابة الذي تم تحديد اسمه في "الاسم" و
التي يتم تحديد قيمتها في "القيمة".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· قيمنا (سلسلة) - قيمة الرأس.

يرى HTTP.req_add_header ()

HTTP.req_del_header (http ، اسم)
يزيل كل حقول رأس HTTP في الطلب الذي تم تحديد اسمه في "الاسم".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

يرى HTTP.res_del_header ()

HTTP.res_del_header (http ، اسم)
يزيل كل حقول رأس HTTP في الاستجابة التي تم تحديد اسمها في "الاسم".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

يرى HTTP.req_del_header ()

HTTP.req_set_header (http ، اسم، القيمة)
يستبدل هذا المتغير جميع حالات حدوث كل "اسم" الرأس ، بعلامة واحدة فقط تحتوي على
القيمة".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· قيمنا (سلسلة) - قيمة الرأس.

يرى HTTP.res_set_header ()

تقوم هذه الوظيفة بنفس عمل الكود التالي:

دالة fcn (txn)
TXN.http: req_del_header ("رأس")
TXN.http: req_add_header ("header"، "value")
النهاية

HTTP.res_set_header (http ، اسم، القيمة)
يستبدل هذا المتغير جميع حالات حدوث كل "اسم" الرأس ، بعلامة واحدة فقط تحتوي على
القيمة".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· قيمنا (سلسلة) - قيمة الرأس.

يرى HTTP.req_rep_header ()

HTTP.req_rep_header (http ، اسم، regex يستبدل)
يطابق التعبير العادي في جميع تكرارات "اسم" حقل الرأس وفقًا
إلى "regex" ، واستبدالها بالوسيطة "replace". قيمة الاستبدال
يمكن أن تحتوي على مراجع خلفية مثل 1 ، 2 ، ... تعمل هذه الوظيفة مع الطلب.

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· رجإكس (سلسلة) - التعبير النمطي للمطابقة.

· يحل محل (سلسلة) - قيمة الاستبدال.

يرى HTTP.res_rep_header ()

HTTP.res_rep_header (http ، اسم، regex خيط)
يطابق التعبير العادي في جميع تكرارات "اسم" حقل الرأس وفقًا
إلى "regex" ، واستبدالها بالوسيطة "replace". قيمة الاستبدال
يمكن أن تحتوي على مراجع خلفية مثل 1 ، 2 ، ... تعمل هذه الوظيفة مع الطلب.

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· رجإكس (سلسلة) - التعبير النمطي للمطابقة.

· يحل محل (سلسلة) - قيمة الاستبدال.

يرى HTTP.req_replace_header ()

HTTP.req_replace_value (http ، اسم، regex يستبدل)
يعمل مثل "HTTP.req_replace_header ()" باستثناء أنه يطابق regex
كل قيمة مفصولة بفاصلة "اسم" حقل العنوان بدلاً من الكل
رأس.

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· رجإكس (سلسلة) - التعبير النمطي للمطابقة.

· يحل محل (سلسلة) - قيمة الاستبدال.

يرى HTTP.req_replace_header ()

يرى HTTP.res_replace_value ()

HTTP.res_replace_value (http ، اسم، regex يستبدل)
يعمل مثل "HTTP.res_replace_header ()" باستثناء أنه يطابق regex
كل قيمة مفصولة بفاصلة "اسم" حقل العنوان بدلاً من الكل
رأس.

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الاسم (سلسلة) - اسم العنوان.

· رجإكس (سلسلة) - التعبير النمطي للمطابقة.

· يحل محل (سلسلة) - قيمة الاستبدال.

يرى HTTP.res_replace_header ()

يرى HTTP.req_replace_value ()

HTTP.req_set_method (http ، طريقة)
يعيد كتابة طريقة الطلب بالمعامل "method".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· طريقة (سلسلة) - الطريقة الجديدة.

HTTP.req_set_path (http ، المسار)
يعيد كتابة مسار الطلب باستخدام معلمة "المسار".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· مسار (سلسلة) - المسار الجديد.

HTTP.req_set_query (http ، استفسار)
يعيد كتابة سلسلة استعلام الطلب التي تظهر بعد علامة الاستفهام الأولى
("؟") مع المعلمة "الاستعلام".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· سؤال (سلسلة) - الاستعلام الجديد.

HTTP.req_set_uri (http ، أوري)
يعيد كتابة عنوان URI للطلب باستخدام المعلمة "uri".

الحجج

· HTTP (class_http) - كائن http المرتبط.

· أوري (سلسلة) - uri الجديد.

HTTP.res_set_status (http ، الحالة)
يعيد كتابة رمز حالة الاستجابة باستخدام "كود" المعلمة. لاحظ أن السبب
يتم تكييفه تلقائيًا مع الكود الجديد.

الحجج

· HTTP (class_http) - كائن http المرتبط.

· الحالة (عدد صحيح) - رمز حالة الاستجابة الجديد.

فئة TXN ()
تحتوي فئة txn على جميع الوظائف المتعلقة بالمعاملة http أو tcp
(لاحظ أن دفق tcp هو نفسه معاملة tcp ، ولكنه معاملة HTTP
ليس هو نفسه من دفق tcp).

يسمح استخدام هذه الفئة باسترداد البيانات من الطلبات وتعديلها و
إحالتها.

تتوفر جميع الوظائف التي يوفرها هذا الفصل في السياق
عمليات جلب العينة و الإجراءات.

TXN.c

الإسترجاع :
An المحولات فئة.

تحتوي هذه السمة على كائن فئة المحولات.

TXN.sc

الإسترجاع :
An المحولات فئة.

تحتوي هذه السمة على كائن فئة المحولات. وظائف هذا الكائن
يعود دائما سلسلة.

TXN.f

الإسترجاع :
An يجلب فئة.

تحتوي هذه السمة على كائن فئة Fetches.

TXN.sf

الإسترجاع :
An يجلب فئة.

تحتوي هذه السمة على كائن فئة Fetches. وظائف هذا الكائن
يعود دائما سلسلة.

TXN متطلب

الإسترجاع :
An قناة فئة.

تحتوي هذه السمة على كائن فئة القناة للمخزن المؤقت للطلب.

TXN.res

الإسترجاع :
An قناة فئة.

تحتوي هذه السمة على كائن فئة القناة لمخزن الاستجابة.

TXN.http

الإسترجاع :
An HTTP فئة.

تحتوي هذه السمة على كائن فئة HTTP. يكون متاحًا فقط إذا كان لدى الوكيل
تمكين "وضع http".

TXN.log (TXN ، تسجيل مستوى، رسالة)
هذه الوظيفة ترسل سجل. يتم إرسال السجل وفقًا لـ HAProxy
ملف التكوين ، على خادم سجل النظام الافتراضي إذا تم تكوينه وعلى ملف
stderr إذا سمح.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· مستوى السجل (عدد صحيح) - هل مستوى السجل مرتبط بالرسالة. إنها
العدد بين 0 و 7.

· MSG (سلسلة) - محتوى السجل.

يرى core.emerg ، core.alert ، core.crit ، core.err ، core. warning ، core.notice ،
core.info ، core.debug (تعريفات مستوى السجل)

يرى TXN.deflog

يرى TXN تصحيح

يرى معلومات TXN

يرى TXN تحذير

يرى TXN تنبيه

TXN.deflog (TXN ، رسالة)
يرسل سطر سجل بمستوى السجل الافتراضي للوكيل المرتبط بامتداد
عملية تجارية.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· MSG (سلسلة) - محتوى السجل.

يرى TXN.log

TXN.Debug (txn ، رسالة)

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· MSG (سلسلة) - محتوى السجل.

يرى TXN.log

يقوم بنفس الوظيفة مما يلي:

وظيفة التصحيح (txn ، msg)
TXN.log (txn ، core.debug ، msg)
النهاية

TXN.Info (txn ، رسالة)

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· MSG (سلسلة) - محتوى السجل.

يرى TXN.log

وظيفة التصحيح (txn ، msg)
TXN.log (txn ، core.info ، msg)
النهاية

TXN. تحذير (txn ، رسالة)

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· MSG (سلسلة) - محتوى السجل.

يرى TXN.log

وظيفة التصحيح (txn ، msg)
TXN.log (txn ، core.warning ، msg)
النهاية

TXN.Alert (txn ، رسالة)

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· MSG (سلسلة) - محتوى السجل.

يرى TXN.log

وظيفة التصحيح (txn ، msg)
TXN.log (txn ، core.alert ، msg)
النهاية

TXN.get_priv (txn)
قم بإرجاع بيانات Lua المخزنة في المعاملة الحالية (بامتداد TXN.set_priv ())
وظيفة. إذا لم يتم تخزين أي بيانات ، فإنها ترجع قيمة صفرية.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

الإسترجاع :
البيانات غير الشفافة المخزنة بشكل سائد ، أو لا شيء إذا لم يكن هناك شيء متوفر.

TXN.set_priv (txn ، البيانات)
قم بتخزين أي بيانات في معاملة HAProxy الحالية. هذا الإجراء يحل محل القديم
بيانات مخزنه.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· البيانات (غير شفاف) - البيانات المخزنة في المعاملة.

TXN.set_var (TXN ، فار ، القيمة)
يحول نوع Lua في نوع HAProxy ويخزنه في متغير .

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· فار (سلسلة) - اسم المتغير حسب متغير HAProxy
بناء الجملة.

· قيمنا (غير شفاف) - البيانات المخزنة في المتغير.

TXN.get_var (TXN ، فار)
إرجاع البيانات المخزنة في المحول المتغير في نوع Lua.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· فار (سلسلة) - اسم المتغير حسب متغير HAProxy
بناء الجملة.

TXN.get_headers (TXN)
ترجع هذه الدالة مصفوفة من الرؤوس.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

الإسترجاع :
مجموعة من الرؤوس.

TXN.done (txn)
تنهي هذه الوظيفة معالجة المعاملة والجلسة المرتبطة بها.
يمكن استخدامه عند اكتشاف خطأ فادح أو لإنهاء المعالجة بعد ذلك
تمت إعادة بعض البيانات إلى العميل (على سبيل المثال: إعادة توجيه).

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

TXN.set_loglevel (txn ، تسجيل مستوى)
يستخدم لتغيير مستوى السجل للطلب الحالي. يجب أن يكون "loglevel" ملف
عدد صحيح بين 0 و 7.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· مستوى السجل (عدد صحيح) - مستوى السجل المطلوب. يمكن أن يكون هذا المتغير واحدًا من

يرى جوهر.

TXN.set_tos (txn ، أصابع)
يتم استخدامه لتعيين قيمة حقل TOS أو DSCP للحزم المرسلة إلى العميل إلى
القيمة التي يتم تمريرها في "tos" على الأنظمة الأساسية التي تدعم ذلك.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· سعال (عدد صحيح) - TOS os DSCP الجديد.

TXN.set_mark (txn ، علامة)
يتم استخدامه لتعيين Netfilter MARK على جميع الحزم المرسلة إلى العميل على القيمة
مرت في "علامة" على المنصات التي تدعمها.

الحجج

· TXN (class_txn) - كائن class txn الذي يحتوي على البيانات.

· علامة (عدد صحيح) - قيمة العلامة.

فئة قابس كهرباء()
يجب أن تكون هذه الفئة متوافقة مع فئة Lua Socket. فقط "العميل"
الوظائف المتاحة. راجع وثائق Lua Socket:

http://w3.impa.br/~diego/software/luasocket/tcp.html

Socket.close (مقبس)
يغلق كائن TCP. المقبس الداخلي الذي يستخدمه الكائن مغلق والمحلي
العنوان الذي كان الكائن مرتبطًا به متاحًا للتطبيقات الأخرى. لا
يُسمح بمزيد من العمليات (باستثناء استدعاءات أخرى لطريقة الإغلاق) على أ
مقبس مغلق.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

ملاحظة: من المهم إغلاق جميع المقابس المستخدمة بمجرد عدم الحاجة إليها ، منذ ذلك الحين
العديد من الأنظمة ، يستخدم كل مقبس واصف ملف ، وهو نظام محدود
موارد. يتم إغلاق الأشياء التي يتم جمعها من القمامة تلقائيًا قبل التدمير ،
بالرغم من ذلك.

Socket.connect (مقبس ، عنوان[، ميناء])
يحاول توصيل كائن مأخذ توصيل بمضيف بعيد.

في حالة الخطأ ، ترجع الطريقة لا شيء متبوعًا بسلسلة تصف الخطأ.
في حالة النجاح ، تُرجع الطريقة 1.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

· العنوان (سلسلة) - يمكن أن يكون عنوان IP أو اسم مضيف. انظر أدناه للحصول على
معلومات اكثر.

· ميناء (عدد صحيح) - يجب أن يكون عددًا صحيحًا في النطاق [1..64K].

الإسترجاع :
1 أو لا شيء.

يسمح امتداد حقل العنوان باستخدام وظيفة connect () للاتصال به
تيار آخر غير TCP. الصيغة التي تحتوي على عنوان simpleipv4 أو ipv6 هي ملف
الشكل المتوقع أساسًا. هذا التنسيق يتطلب المنفذ.

التنسيقات الأخرى المقبولة هي مسار مأخذ توصيل مثل "/ socket / path" ، فهي تسمح بالاتصال
إلى المقبس. يتم دعم مساحات الأسماء المجردة بالبادئة "abns @" و finaly
يمكن تمرير الملف بالبادئة "fd @". البادئة "ipv4 @"، "ipv6 @"
و "unix @" مدعومان أيضًا. يمكن تمرير المنفذ في السلسلة. بناء الجملة
"127.0.0.1:1234" صالح. في هذه الحالة ، المعلمة ميناء تم تجاهله.

Socket.connect_ssl (مقبس ، عنوان، الميناء)
نفس سلوك مقبس الوظيفة: connect ، لكن يستخدم SSL.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

الإسترجاع :
1 أو لا شيء.

Socket.getpeername (المقبس)
تُرجع معلومات حول الجانب البعيد من كائن عميل متصل.

تُرجع سلسلة بعنوان IP للنظير ، متبوعًا برقم المنفذ الذي
نظير يستخدم للاتصال. في حالة الخطأ ، ترجع الطريقة لا شيء.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

الإسترجاع :
سلسلة تحتوي على معلومات الخادم.

Socket.getsockname (المقبس)
إرجاع معلومات العنوان المحلي المرتبطة بالكائن.

تقوم الطريقة بإرجاع سلسلة بعنوان IP محلي ورقم مع المنفذ. في
في حالة الخطأ ، لا تُرجع الطريقة شيئًا.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

الإسترجاع :
سلسلة تحتوي على معلومات العميل.

Socket.receive (مقبس [، نمط[، بادئة]])
يقرأ البيانات من كائن العميل ، وفقًا لنمط القراءة المحدد. أنماط
اتبع تنسيق Lua لملف I / O ، والفرق في الأداء بين الكل
أنماط لا يكاد يذكر.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

· النمط (سلسلة | عدد صحيح) - صف ما هو مطلوب (انظر أدناه).

· بادئة (سلسلة) - سلسلة تسبق البيانات التي تم إرجاعها.

الإسترجاع :
سلسلة تحتوي على البيانات المطلوبة أو لا شيء.

يمكن أن يكون النمط أيًا مما يلي:

·

`* أ`: يقرأ تبدأ من ال مقبس حتى ال صلة is مغلق. لا
يتم تنفيذ الترجمة في نهاية السطر ؛

·

`* ل`: يقرأ a خط of نص تبدأ من ال قابس كهرباء. خط is إنهاء by a
الحرف LF (ASCII 10) ، مسبوقًا اختياريًا بحرف CR (ASCII 13).
لا يتم تضمين أحرف CR و LF في السطر الذي تم إرجاعه. في الحقيقة،
يتم تجاهل جميع أحرف CR بواسطة النمط. هذا هو النمط الافتراضي.

·

عدد: الأسباب ال طريقة إلى اقرأ a محدد عدد of بايت تبدأ من ال
قابس كهرباء. البادئة هي سلسلة اختيارية يتم ربطها بالبداية
من أي بيانات وردت قبل العودة.

· فارغ: إذا تُرك النمط فارغًا ، فإن الخيار الافتراضي هو *l.

إذا نجحت ، تقوم الطريقة بإرجاع النمط المستلم. في حالة وجود خطأ ، فإن
يعيد التابع nil متبوعًا برسالة خطأ يمكن أن تكون السلسلة "مغلقة" في
في حالة إغلاق الاتصال قبل اكتمال الإرسال أو السلسلة
"timeout" في حالة وجود مهلة أثناء العملية. أيضا ، بعد الخطأ
الرسالة ، تقوم الوظيفة بإرجاع النتيجة الجزئية للإرسال.

ملاحظة مهمة: تم تغيير هذه الوظيفة بشكل كبير. كانت تستخدم لدعم متعددة
الأنماط (لكنني لم أر هذه الميزة مستخدمة من قبل) والآن لم تعد كذلك.
كان يتم إرجاع النتائج الجزئية بنفس طريقة عرض النتائج الناجحة. هذا
الميزة الأخيرة تنتهك فكرة أن جميع الوظائف يجب أن ترجع لا شيء عند الخطأ. هكذا
تم تغييره أيضا.

Socket.send (مقبس ، بيانات[، يبدأ[، نهاية]])
يرسل البيانات من خلال كائن العميل.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

· البيانات (سلسلة) - البيانات التي سيتم إرسالها.

· بداية (عدد صحيح) - موضع البدء في المخزن المؤقت للبيانات
ترسل.

· النهاية (عدد صحيح) - الموضع النهائي في المخزن المؤقت للبيانات الذي سيكون
أرسلت.

الإسترجاع :
انظر أدناه.

البيانات هي السلسلة المراد إرسالها. تعمل الوسيطات الاختيارية i و j تمامًا مثل
دالة string.sub القياسية للسماح باختيار سلسلة فرعية لإرسالها.

في حالة نجاحها ، تُرجع الطريقة فهرس آخر بايت داخل [البداية ، النهاية]
التي تم إرسالها. لاحظ أنه ، إذا كانت البداية 1 أو غائبة ، فهذا هو
العدد الإجمالي للبايت المرسلة. في حالة الخطأ ، ترجع الطريقة لا شيء ، متبوعة
رسالة خطأ ، متبوعة بفهرس آخر بايت داخل [البداية ، النهاية]
تم ارساله. قد ترغب في المحاولة مرة أخرى من البايت الذي يلي ذلك. الخطأ
يمكن "إغلاق" الرسالة في حالة إغلاق الاتصال قبل الإرسال
تم إكمال أو "مهلة" السلسلة في حالة وجود مهلة أثناء
العملية.

ملاحظة: الإخراج لا يتم تخزينه مؤقتًا. بالنسبة إلى السلاسل الصغيرة ، من الأفضل دائمًا الربط
في Lua (باستخدام عامل التشغيل "..") وأرسل النتيجة في مكالمة واحدة بدلاً من
استدعاء الطريقة عدة مرات.

Socket.set الخيار (المقبس ، خيار[، قيمة])
تم تنفيذه للتو من أجل التوافق ، هذا كال لا يفعل شيئًا.

Socket.settimeout (المقبس ، قيمة[، وضع])
يغير قيم المهلة للكائن. يتم حظر جميع عمليات الإدخال / الإخراج. الذي - التي
هو ، أي استدعاء لطرق الإرسال والاستلام والقبول سيتم حظره إلى أجل غير مسمى ،
حتى اكتمال العملية. تحدد طريقة Settimeout حدًا للمبلغ
الوقت الذي يمكن أن تحظره أساليب الإدخال / الإخراج. عند انقضاء وقت المهلة ، يتأثر
الأساليب تستسلم وتفشل مع رمز الخطأ.

يتم تحديد مقدار وقت الانتظار كمعامل القيمة بالثواني.

يتم تنفيذ أوضاع المهلة من خلال الروبوت ، والمهلة الوحيدة القابلة للتعيين هي عدم النشاط
وقت انتظار اكتمال إرسال المخزن المؤقت الداخلي أو انتظار تلقي البيانات.

الحجج

· مقبس (class_socket) - هو المقبس المعالج.

· قيمنا (عدد صحيح) - قيمة المهلة.

فئة خريطة()
تسمح هذه الفئة بالقيام ببعض البحث في خرائط HAProxy. يمكن أن تكون الخرائط المعلنة
تم تعديله أثناء وقت التشغيل من خلال مقبس إدارة HAProxy.

الافتراضي = "usa"

- إنشاء وتحميل الخريطة
geo = Map.new ("خريطة جغرافية" ، Map.ip) ؛

- إنشاء عملية جلب جديدة تُرجع بلد المستخدم
core.register_fetches ("البلد" ، الوظيفة (txn)
src المحلية ؛
مكان محلي

src = txn.f: fhdr ("x-forwarded-for")؛
إذا (src == لا شيء) إذن
src = txn.f: src ()
إذا (src == لا شيء) إذن
عودة التقصير
النهاية
النهاية

- قم بالبحث
loc = geo: lookup (src) ؛

إذا (loc == لا شيء) إذن
عودة التقصير
النهاية

العودة loc؛
نهاية)؛

Map.int
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.ip راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.str
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

الخريطة
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.sub
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.dir
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.dom
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

خريطة. نهاية
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.reg
راجع ملف HAProxy configuration.txt ، الفصل "استخدام قوائم التحكم في الوصول وجلب العينات"
الجواب الفرع الفرعي "أساسيات ACL" لفهم طريقة مطابقة النمط هذه.

Map.new (ملف ، طريقة)
ينشئ وتحميل الخريطة.

الحجج

· ملف (سلسلة) - هو الملف الذي يحتوي على الخريطة.

· طريقة (عدد صحيح) - هي طريقة مطابقة نمط الخريطة. انظر السمات
من فئة الخريطة.

الإسترجاع :
كائن خريطة فئة.

يرى سمات الخريطة.

Map.lookup (خريطة ، شارع)
قم بإجراء بحث في الخريطة.

الحجج

· رسم خريطة (class_map) - هو كائن خريطة الفئة.

· شارع (سلسلة) - هل السلسلة المستخدمة كمفتاح.

الإسترجاع :
سلسلة تحتوي على النتيجة أو لا شيء إذا لم يكن هناك تطابق.

Map.slookup (خريطة ، شارع)
قم بإجراء بحث في الخريطة.

الحجج

· رسم خريطة (class_map) - هو كائن خريطة الفئة.

· شارع (سلسلة) - هل السلسلة المستخدمة كمفتاح.

الإسترجاع :
سلسلة تحتوي على النتيجة أو سلسلة فارغة إذا لم يكن هناك تطابق.

فئة أبليت إتش تي بي ()
يتم استخدام هذه الفئة مع تطبيقات صغيرة تتطلب وضع "http". يمكن لبرنامج http الصغير
أن تكون مسجلا مع core.register_service () وظيفة. يتم استخدامها ل
معالجة طلب http مثل الخادم الموجود في الجزء الخلفي من HAProxy.

هذا نموذج لرمز hello world:

core.register_service ("hello-world" ، "http" ، الوظيفة (التطبيق الصغير)
استجابة محلية = "Hello World!"
صغير:تعيين الحالة200
الصغير: add_header ("طول المحتوى" ، string.len (استجابة))
التطبيق الصغير: add_header ("نوع المحتوى" ، "نص / عادي")
التطبيق الصغير: start_response ()
الصغير: إرسال (استجابة)
النهاية)

التطبيق الصغير

الإسترجاع :
A المحولات فئة

تحتوي هذه السمة على كائن فئة المحولات.

التطبيق الصغير

الإسترجاع :
A المحولات فئة

تحتوي هذه السمة على كائن فئة المحولات. وظائف هذا الكائن
يعود دائما سلسلة.

التطبيق الصغير

الإسترجاع :
A يجلب فئة

تحتوي هذه السمة على كائن فئة Fetches. لاحظ أن تنفيذ الصغير
لا يمكن لـ place الوصول إلى معاملة HTTP صالحة لـ HAProxy core ، لذا فإن بعض العينات
fecthes المتعلقة بالقيم التابعة لـ HTTP (hdr ، المسار ، ...) غير متوفرة.

برنامج AppletHTTP.sf

الإسترجاع :
A يجلب فئة

تحتوي هذه السمة على كائن فئة Fetches. وظائف هذا الكائن
يعود دائما سلسلة. لاحظ أن مكان تنفيذ التطبيق الصغير لا يمكنه الوصول إلى ملف
معاملة HTTP صالحة لـ HAProxy core ، لذا فإن بعض العينات تتعلق بـ HTTP
القيم التابعة (HDR ، المسار ، ...) غير متوفرة.

أسلوب AppletHTTP

الإسترجاع :
سلسلة

يقوم أسلوب السمة بإرجاع سلسلة تحتوي على طريقة HTTP.

برنامج AppletHTTP.version

الإسترجاع :
سلسلة

إصدار السمة ، يعرض سلسلة تحتوي على إصدار طلب HTTP.

AppletHTTP.path

الإسترجاع :
سلسلة

يقوم مسار السمة بإرجاع سلسلة تحتوي على مسار طلب HTTP.

التطبيق الصغير

الإسترجاع :
سلسلة

تقوم السمة qs بإرجاع سلسلة تحتوي على سلسلة استعلام طلب HTTP.

AppletHTTP.length

الإسترجاع :
عدد صحيح

يُرجع طول السمة عددًا صحيحًا يحتوي على طول نص HTTP.

AppletHTTP.headers

الإسترجاع :
مجموعة

ترجع رؤوس السمة مصفوفة تحتوي على رؤوس HTTP. رأس
الأسماء دائمًا بأحرف صغيرة. كما يمكن أن تصادف اسم رأس أكثر من
مرة واحدة في كل طلب ، تتم فهرسة القيمة بـ 0 كقيمة أول فهرس. المصفوفة
لديك هذا النموذج:

AppletHTTP.headers [' '] [ ] = " "

AppletHTTP.headers ["host"] [0] = "www.test.com"
AppletHTTP.headers ["Accept"] [0] = "audio / basic q = 1"
AppletHTTP.headers ["Accept"] [1] = "audio / *، q = 0.2"
AppletHTTP.headers ["قبول"] [2] = "* / * ، q = 0.1"

AppletHTTP.headers
يحتوي على مصفوفة تحتوي على جميع رؤوس الطلبات.

AppletHTTP.set_status (صغير ، الشفرة)
تحدد هذه الوظيفة رمز حالة HTTP للاستجابة. الكود المسموح به من
100 599 ل.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

· الكود (عدد صحيح) - رمز الحالة الذي تم إرجاعه إلى العميل.

AppletHTTP.add_header (الصغير ، اسم، القيمة)
تضيف هذه الوظيفة رأسًا في الاستجابة. لا يتم تصغير الرؤوس المكررة.
الرأس الخاص طول المحتوى يستخدم لتحديد طول الاستجابة. لو أنه
غير موجود ، أ ترميز النقل: مقطوع تم تعيينه ، وكل الكتابة من الوظيفة
برنامج AppletHTTP: إرسال () تصبح قطعة.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

· الاسم (سلسلة) - اسم العنوان

· قيمنا (سلسلة) - قيمة الرأس

AppletHTTP.start_response (صغير)
تشير هذه الوظيفة إلى محرك HTTP أنه يمكنه معالجة وإرسال ملف
رؤوس الاستجابة. بعد هذا الاستدعاء لا يمكننا إضافة رؤوس للرد ؛ نحن
لا يمكن استخدام برنامج AppletHTTP: إرسال () تعمل إذا كان بروتوكول HTTP: start_response () ليس
اتصل.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

AppletHTTP.getline (صغير)
تقوم هذه الوظيفة بإرجاع سلسلة تحتوي على سطر واحد من نص http. إذا كانت البيانات
تم إرجاعه لا يحتوي على '\ n' نهائي مفترض من البيانات المتوفرة الأخيرة
قبل نهاية الدفق.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

الإسترجاع :
سلسلة. يمكن أن تكون السلسلة فارغة إذا وصلنا إلى نهاية الدفق.

AppletHTTP.receive (التطبيق الصغير [، مقاس])
يقرأ البيانات من نص HTTP ، وفقًا للقراءة المحددة المقاسات. إذا كان المقاسات is
في عداد المفقودين ، تحاول الوظيفة قراءة جميع محتويات الدفق حتى النهاية. لو
ال المقاسات أكبر من نص http ، فإنه يعرض كمية البيانات المتوفرة.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

· المقاسات (عدد صحيح) - حجم القراءة المطلوب.

الإسترجاع :
تعيد السلسلة دائمًا ، يمكن أن تكون السلسلة فارغة إذا كان الارتباط مغلقًا.

AppletHTTP.send (صغير ، رسالة)
ارسل الرسالة MSG على نص طلب http.

الحجج

· بريمج (class_AppletHTTP) - ان التطبيق الصغير فئة

· MSG (سلسلة) - الرسالة المراد إرسالها.

فئة AppletTCP ()
يتم استخدام هذه الفئة مع التطبيقات الصغيرة التي تتطلب وضع "tcp". يمكن أن يكون التطبيق الصغير tcp
مسجل مع core.register_service () وظيفة. يتم استخدامها للمعالجة
دفق tcp مثل الخادم في الجزء الخلفي من HAProxy.

برنامج صغيرTCP.c

الإسترجاع :
A المحولات فئة

تحتوي هذه السمة على كائن فئة المحولات.

برنامج صغيرTCP.sc

الإسترجاع :
A المحولات فئة

تحتوي هذه السمة على كائن فئة المحولات. وظائف هذا الكائن
يعود دائما سلسلة.

التطبيق الصغيرTCP.f

الإسترجاع :
A يجلب فئة

تحتوي هذه السمة على كائن فئة Fetches.

برنامج صغيرTCP.sf

الإسترجاع :
A يجلب فئة

تحتوي هذه السمة على كائن فئة Fetches.

AppletTCP.getline (صغير)
تقوم هذه الوظيفة بإرجاع سلسلة تحتوي على سطر واحد من الدفق. إذا كانت البيانات
تم إرجاعه لا يحتوي على '\ n' نهائي مفترض من البيانات المتوفرة الأخيرة
قبل نهاية الدفق.

الحجج

· بريمج (class_AppletTCP) - ان أبليت تي سي بي فئة

الإسترجاع :
سلسلة. يمكن أن تكون السلسلة فارغة إذا وصلنا إلى نهاية الدفق.

AppletTCP.receive (الصغير [، مقاس])
يقرأ البيانات من تدفق TCP ، وفقًا للقراءة المحددة المقاسات. إذا كان المقاسات
مفقودة ، تحاول الوظيفة قراءة كل محتوى الدفق حتى النهاية.

الحجج

· بريمج (class_AppletTCP) - ان أبليت تي سي بي فئة

· المقاسات (عدد صحيح) - حجم القراءة المطلوب.

الإسترجاع :
تعيد السلسلة دائمًا ، يمكن أن تكون السلسلة فارغة إذا كان الارتباط مغلقًا.

AppletTCP.send (appletmsg)
أرسل الرسالة على الدفق.

الحجج

· بريمج (class_AppletTCP) - ان أبليت تي سي بي فئة

· MSG (سلسلة) - الرسالة المراد إرسالها.

يمكن العثور على الكثير من مكتبات lua المفيدة هنا:

· https://lua-toolbox.com/

وصول ريديس:

· https://github.com/nrk/redis-lua

هذا مثال عن استخدام مكتبة Redis مع HAProxy. لاحظ أن كل مكالمة
من أي وظيفة في هذه المكتبة يمكن أن تسبب خطأ إذا فشل اتصال مأخذ التوصيل.

- تحميل مكتبة redis
redis المحلي = يتطلب ("redis") ؛

وظيفة do_something (txn)

- إنشاء وتوصيل مقبس tcp جديد
tcp المحلي = core.tcp () ؛
برنامج التعاون الفني:تسوية(1)
tcp: connect ("127.0.0.1"، 6379) ؛

- استخدم مكتبة redis مع هذا المقبس الجديد
العميل المحلي = redis.connect ({socket = tcp}) ؛
العميل: ping () ؛

النهاية

OpenSSL:

· http://mkottman.github.io/luacrypto/index.html

· https://github.com/brunoos/luasec/wiki

استخدم haproxy-lua عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

  • 1
    Zabbix
    Zabbix
    Zabbix هو مفتوح من فئة المؤسسات
    حل المراقبة الموزعة المصدر
    مصممة للرصد والتتبع
    الأداء وتوافر الشبكة
    الخوادم والجهاز ...
    تحميل Zabbix
  • 2
    KDiff3
    KDiff3
    لم يعد هذا المستودع محفوظًا
    ويتم الاحتفاظ بها لأغراض الأرشفة. نرى
    https://invent.kde.org/sdk/kdiff3 for
    أحدث كود و
    https://download.kde.o...
    تنزيل KDiff3
  • 3
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX هو واجهة مستخدم رسومية لـ
    محمل USB من Waninkoko ، استنادًا إلى
    libwiigui. يسمح بإدراج و
    إطلاق ألعاب Wii وألعاب Gamecube و
    البيرة على Wii و WiiU ...
    قم بتنزيل USBLoaderGX
  • 4
    فايربيرد
    فايربيرد
    يوفر Firebird RDBMS ميزات ANSI SQL
    & يعمل على Linux و Windows و
    العديد من منصات Unix. سمات
    التزامن الممتاز والأداء
    & قوة...
    تنزيل Firebird
  • 5
    KompoZer و
    KompoZer و
    KompoZer هو محرر wysiwyg HTML يستخدم
    قاعدة كود Mozilla Composer. مثل
    تم إيقاف تطوير Nvu
    في عام 2005 ، قام KompoZer بإصلاح العديد من الأخطاء و
    يضيف و ...
    تنزيل KompoZer
  • 6
    تنزيل مانغا مجاني
    تنزيل مانغا مجاني
    برنامج Free Manga Downloader (FMD) هو ملف
    تطبيق مفتوح المصدر مكتوب بلغة
    Object-Pascal لإدارة و
    تحميل المانجا من مختلف المواقع.
    هذا هو المرآة ...
    تنزيل Free Manga Downloader
  • أكثر "

أوامر لينكس

Ad