Soru Bir dosya sunmadan Nginx yapılandırmasından 200 ile yanıtla


Apache'yi bu konfigürasyon hattına herhangi bir dosya sunmadan 200 cevabı geri göndermek için yapılandırdım

Redirect 200 /hello

Bunu Nginx ile yapabilir miyim? Bir dosyaya hizmet vermek istemiyorum, sadece sunucunun 200 ile yanıt vermesini istiyorum (sadece istekte bulundum).

Bir indeks dosyası ekleyebildiğimi ve aynı şeyi elde edebildiğimi biliyorum, ancak yapılandırmada bunu yapmak yanlış gidebilecek bir şey yok demektir.


93
2017-11-01 14:54


Menşei




Cevaplar:


Evet yapabilirsin

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



Yanıta nasıl yeni satır ekleyebilirim? gangnam\nstyle? - tback
Elbette @back, doğru - cadmi
Sadece yeni satırı ekleyin! Nginx yapılandırma yönergeleri tek satırlara bağlı değildir, bunlar noktalı virgülle sonlandırılır. - Emil Vikström
add_header eski 'İçerik türü' yerine başka bir başlık eklediğinden benim için çalışmaz. Cevabımda 2 'İçerik türü' başlığım var: $ curl -v localhost / healthcheck / h1_pio> GET / healthcheck / h1_pio HTTP / 1.1> Kullanıcı Aracı: curl / 7.38.0> Sunucu: localhost> Kabul: / > <HTTP / 1.1 200 Tamam <Tarih: Sal, 11 Ekim 2016 13:27:53 GMT <İçerik Türü: uygulama / octet-stream <İçerik-Uzunluğu: 25 <Bağlantı: canlı tutma <Content-Type: application / json - jmcollin92
Var olan bir default_type başka bir yerde bildirilmişse, jmcollin92 olabilir. Kullanarak geçersiz kılabilirsiniz. default_type text/plain; yerine yerleştirilen yer bloğu add_header direktif. - tjb1982


Nginx'in yanıt gövdesi olmayan 200'e izin vermeyeceği için 204'ü kullanmanız gerekir. 204 göndermek için iade yönergesi için return 204; uygun yerde.


18
2017-11-02 11:52





Durum kodu tanımları uyarınca, bunun bir 204 olmasını ve 200. 200'lük bir yanıtla bir kaynağın olması gerekmediğini ya da aklı başında tarayıcıların çoğunun bununla karıştırılacağından kuşkulandığına inanıyorum. Kullanabileceğiniz diğeri, önbelleğe alınmış içerik için olan 304'tür.

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


2
2017-11-01 15:39



Tabi, bir 204 yap, bunu nasıl yaparım? Her ne kadar herhangi bir tarayıcı, boş bir beden tarafından karıştırıldığından şüphe etmeme rağmen. - Theo
Boş bir gövde hala boş bir index.html gibi bir nesneye sahip bir yanıttır. İstediğiniz şey, ona bağlı hiçbir kaynak bulunmayan 200 yanıt vermektir (hiçbir dosya sunulmamıştır). Nginx'te tam olarak nasıl yapılacağına gelince, kendime bakmam lazım, bunu sadece bir kez apache üzerinde yaptım ve elimi hatırlayamıyorum. - sandroid
304 hata ayıklama ve geçici getiriler gibi şeyler için tüm yanlış sinyalleri gönderir gibi görünüyor. - Kzqai