كيف تقوم بتغيير رأس الخادم الذي تم إرجاعه بواسطة nginx؟


Answers

إذا كنت تستخدم nginx to proxy تطبيقًا للجهة الخلفية وتريد أن تقوم الواجهة الخلفية بالإعلان عن خادمها الخاص Server: رأس بدون nginx ، بدلاً من ذلك ، يمكنك الانتقال إلى داخل server {…} مقطعًا وتعيين:

proxy_pass_header Server;

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

Question

هناك خيار لإخفاء الإصدار بحيث سيعرض nginx فقط ، ولكن هل هناك طريقة لإخفائه أيضًا بحيث لن يعرض أي شيء أو يغير العنوان؟




بسيطة ، تحرير /etc/nginx/nginx.conf وإزالة تعليق من

#server_tokens off;

ابحث عن قسم http .




هل تسأل عن قيمة رأس الخادم في الاستجابة؟ يمكنك محاولة تغيير ذلك من خلال توجيه add_header ، لكنني لست متأكدًا مما إذا كان سيعمل. http://wiki.codemongers.com/NginxHttpHeadersModule




هناك وحدة خاصة: http://wiki.nginx.org/NginxHttpHeadersMoreModule

تسمح لك هذه الوحدة بإضافة أو تعيين أو إلغاء أي رأس إخراج أو إدخال تحددهما.

هذه نسخة محسنة من وحدة headers القياسية لأنها توفر المزيد من الأدوات المساعدة مثل إعادة تعيين أو إلغاء تحديد "رؤوس مضمنة" مثل Content-Type و Content-Length و Server .

كما يسمح لك بتحديد معايير اختيارية لشفرة حالة HTTP باستخدام الخيار -s ومعايير نوع المحتوى الاختياري باستخدام الخيار -t أثناء تعديل رؤوس المخرجات مع توجيهات more_clear_headers و more_clear_headers ...




تثبيت Nginx إضافات

sudo apt-get update
sudo apt-get install nginx-extras

يمكن إزالة تفاصيل الخادم من الاستجابة عن طريق إضافة خطين في nginx.conf (تحت قسم http)

more_clear_headers Server;
server_tokens off;



Related