أفتح هذه المشكلة لتتبع فكرة تطبيق عميل Lua ACME خالص (بدلاً من الاعتماد على الجفاف). لست متأكدًا مما إذا كان / متى سيحدث هذا ، لكنني اعتقدت أن الأمر يستحق وجود مشكلة للرجوع إليها والقدرة على مناقشتها.
كانت هذه الفكرة تدور منذ الإنشاء الأولي لـ lua-resty-auto-ssl ، كما لاحظ قسم TODO في README منذ البداية:
نحن نعتمد حاليًا على التجفيف كعميل Let's Encrypt. يتم استدعاؤها بطريقة غير محظورة عبر sockproc ، ولكن قد يكون من الأسهل استبدال هذا الأسلوب في النهاية بعميل OpenResty Let's Encrypt الأصلي يومًا ما.
بالنسبة للجزء الأكبر ، فإن الاستخدام المجفف قد خدمنا جيدًا ، وسمح لنا بإلغاء تحميل جميع أعمال بروتوكول ACME الأساسية لتسجيل الشهادات باستخدام Let's Encrypt. ومع ذلك ، فإن الاعتماد على lua-resty-shell و sockproc يضيف أيضًا تعقيدًا إلى lua-resty-auto-ssl لعدة أسباب:
مع الانتهاء من بروتوكول ACME v2 الآن ، أصبحت هذه الفكرة في ذهني بشكل متزايد. من ناحية أخرى ، سيتطلب إنشاء تطبيق عميل Lua ACME قدرًا مناسبًا من العمل الجديد ، لكن احتمالية القدرة على التخلص من الاعتماد على sockproc جذابة (لا يعني ذلك وجود أي خطأ في sockproc ، ولكنه يعقد الإعداد لدينا فقط / التركيب والعمارة).
إذا أردنا السير في هذا المسار ، فإن فكرتي العامة كانت إنشاء 1 أو 2 من مكتبات Lua الجديدة:
lua-resty-acme
تستخدم مكتبة OpenSSL و lua-resty-http لتنفيذ بروتوكول ACME v2 بالفعل. لا يزال lua-resty-auto-ssl موجودًا كمكتبة ذات مستوى أعلى تستخدم lua-resty-acme (لن يقوم lua-resty-acme إلا بتنفيذ البروتوكول ، ويلعب دورًا مشابهًا للجفاف ، بينما lua-resty-auto-ssl سيظل يؤدي كل تكامل nginx والتسجيل المستند إلى SNI وتخزين الشهادات وما إلى ذلك).لذا مرة أخرى ، لست متأكدًا مما إذا كان / متى سيحدث هذا ، لكنني على الأقل أردت الحصول على بعض هذه الأفكار أخيرًا بصيغة أكثر واقعية.
أعتقد أن هذه ستكون فكرة رائعة. سيؤدي التخلص من sockproc والجفاف إلى تقليل تعقيد العملية بأكملها ، مما يؤدي على الأرجح إلى عدد أقل من الأخطاء (على سبيل المثال ، الخطأ الأخير المتعلق باتفاق شروط Let's Encrypt في حالة الجفاف).
👍
هل قمت بفحص هذا المشروع؟ https://github.com/fffonion/lua-resty-acme
يستخدم هذا المشروع الواجهة الخلفية opensl المستندة إلى مؤسسة مالية أجنبية.
التعليق الأكثر فائدة
أعتقد أن هذه ستكون فكرة رائعة. سيؤدي التخلص من sockproc والجفاف إلى تقليل تعقيد العملية بأكملها ، مما يؤدي على الأرجح إلى عدد أقل من الأخطاء (على سبيل المثال ، الخطأ الأخير المتعلق باتفاق شروط Let's Encrypt في حالة الجفاف).
👍