שאלה השב עם 200 מ Nginx config מבלי לשרת קובץ


הגדרתי את Apache לשליחת תגובה 200 מבלי להציג כל קובץ עם שורת תצורה זו

Redirect 200 /hello

האם אני יכול לעשות זאת עם Nginx? אני לא רוצה לשרת קובץ, אני רק רוצה לשרת להגיב עם 200 (אני רק רישום הבקשה).

אני יודע שאני יכול להוסיף קובץ אינדקס ולהשיג את אותו הדבר, אבל עושה את זה בתצורה אומר שיש דבר אחד פחות שיכול להשתבש.


93
2017-11-01 14:54






תשובות:


כן אתה יכול

location / {
    return 200 'gangnam style!';
    # because default content-type is application/octet-stream,
    # browser will offer to "save the file"...
    # if you want to see reply in browser, uncomment next line 
    # add_header Content-Type text/plain;
}

202
2018-03-27 14:05



כיצד אני מוסיף ציר חדש לתגובה? gangnam\nstyle? - tback
@tback כמובן, בדיוק אתה - cadmi
פשוט להוסיף את newline! הוראות התצורה של Nginx אינן קשורות לקווים בודדים, הן מסתיימות בנקודה פסיק. - Emil Vikström
add_header לא עובד בשבילי שכן הוא מוסיף כותרת נוספת במקום להחליף את 'סוג תוכן' הישן. בתגובות שלי יש 2 כותרות 'סוג תוכן': $ curl -v localhost / healthcheck / h1_pio> GET / healthcheck / h1_pio HTTP / 1.1> User-agent: curl / 7.38.0> Host: localhost> Accept: / > <HTTP / 1.1 200 אישור <תאריך: יום שלישי, 11 אוקטובר 2016 13:27:53 GMT <תוכן סוג: יישום / זרם octet <תוכן-אורך: 25 <חיבור: לשמור על חיים <תוכן-סוג: יישום / ג'סון - jmcollin92
@ jmcollin92 זה יכול לקרות אם יש לך default_type הקיים הכריז במקום אחר. אתה יכול לעקוף את זה באמצעות default_type text/plain; בתוך בלוק המיקום במקום add_header הוראה. - tjb1982


אתה צריך להשתמש 204 כמו Nginx לא יאפשר 200 ללא גוף תגובה. כדי לשלוח 204 אתה פשוט להשתמש - חוזר ל return 204; במקום המתאים.


18
2017-11-02 11:52





לפי הגדרות קוד סטטוס, אני מאמין שאתה רוצה שזה יהיה 204, ולא 200. 200 צריך להיות עם משאב בתגובה, או שאני חושד שרוב הדפדפנים השפויים יתבלבלו על ידי זה. השני שבו אתה יכול להשתמש הוא 304, אשר עבור תוכן במטמון.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html


2
2017-11-01 15:39



בטח, לעשות את זה 204, איך אני עושה את זה? למרות שאני מאוד ספק שכל דפדפן יהיה מבולבל על ידי גוף ריק. - Theo
גוף ריק הוא עדיין תגובה, עם אובייקט, כגון index.html ריק. מה שביקשת הוא לספק 200 תגובה עם שום משאבים המצורפת אליו (לא קובץ מוגש). לגבי איך בדיוק לעשות את זה על nginx, אני צריך לחפש את זה בעצמי, עשיתי רק פעם אחת על אפאצ 'י, ואני לא יכול לזכור את היד. - sandroid
304 נראה כאילו זה היה לשלוח את כל האותות הלא נכונים עבור דברים כמו באגים וחזרה זמנית. - Kzqai