Kif Oħloq Paġna ta 'Żball 404 Custom f'NGINX
Kull darba li NGINX tiltaqa 'ma' żball hekk kif jipprova jipproċessa t-talba ta 'klijent, jirritorna żball. Kull żball jinkludi kodiċi ta 'rispons HTTP u deskrizzjoni qasira. L-iżball normalment jintwera lil utent permezz ta 'paġna HTML sempliċi sempliċi.
Fortunatament, tista 'tikkonfigura NGINX biex turi paġni ta' żball personalizzati lill-utenti tas-sit tiegħek jew tal-applikazzjoni tal-web. Dan jista 'jinkiseb bl-użu tad-direttiva error_page ta' NGINX li tintuża biex tiddefinixxi l-URI li se jintwera għal żball speċifikat. Tista' wkoll, b'għażla tużaha biex timmodifika l-kodiċi tal-istatus HTTP fl-intestaturi tar-rispons mibgħuta lil klijent.
F'din il-gwida, aħna ser nuru kif tikkonfigura NGINX biex tuża paġni ta 'żbalji tad-dwana.
Oħloq Paġna Custom Uniku għall-iżbalji NGINX kollha
Tista 'tikkonfigura NGINX biex tuża paġna waħda ta' żball tad-dwana għall-iżbalji kollha li jirritorna lil klijent. Ibda billi toħloq il-paġna tal-iżball tiegħek. Hawn eżempju, paġna HTML sempliċi li turi l-messaġġ:
“Sorry, the page can't be loaded! Contact the site's administrator or support for assistance.” to a client.
Kampjun HTML Nginx Kodiċi tal-paġna Custom.
<!DOCTYPE html> <html> <head> <style type=text/css> * { -webkit-box-sizing: border-box; box-sizing: border-box; } body { padding: 0; margin: 0; } #notfound { position: relative; height: 100vh; } #notfound .notfound { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .notfound { max-width: 520px; width: 100%; line-height: 1.4; text-align: center; } .notfound .notfound-error { position: relative; height: 200px; margin: 0px auto 20px; z-index: -1; } .notfound .notfound-error h1 { font-family: 'Montserrat', sans-serif; font-size: 200px; font-weight: 300; margin: 0px; color: #211b19; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } @media only screen and (max-width: 767px) { .notfound .notfound-error h1 { font-size: 148px; } } @media only screen and (max-width: 480px) { .notfound .notfound-error { height: 148px; margin: 0px auto 10px; } .notfound .notfound-error h1 { font-size: 120px; font-weight: 200px; } .notfound .notfound-error h2 { font-size: 30px; } .notfound a { padding: 7px 15px; font-size: 24px; } .h2 { font-size: 148px; } } </style> </head> <body> <div id="notfound"> <div class="notfound"> <h1>Sorry the page can't be loaded!</a></h1> <div class="notfound-error"> <p>Contact the site's administrator or support for assistance.</p> </div> </div> </div> </body> </html>
Issejvja l-fajl b'isem xieraq per eżempju error-page.html u agħlaq.
Sussegwentement, ċċaqlaq il-fajl fid-direttorju tal-għeruq tad-dokument tiegħek (/var/www/html/). Jekk id-direttorju ma jeżistix, tista' toħloqha billi tuża l-kmand mkdir, kif muri:
$ sudo mkdir -p /var/www/html/ $ sudo cp error-page.html /var/www/html/
Imbagħad ikkonfigura NGINX biex tuża l-paġna ta 'żball tad-dwana billi tuża d-direttiva error_page. Oħloq fajl ta 'konfigurazzjoni msejjaħ custom-error-page.conf taħt /etc/nginx/snippets/ kif muri.
$ sudo mkdir /etc/nginx/snippets/ $ sudo vim /etc/nginx/snippets/custom-error-page.conf
Żid magħha l-linji li ġejjin:
error_page 404 403 500 503 /error-page.html; location = /error-page.html { root /var/www/html; internal; }
Din il-konfigurazzjoni tikkawża redirect intern lejn l-URI/error-page.html kull darba li NGINX tiltaqa' ma' xi żbalji HTTP speċifikati 404, 403, 500, u 503. Il-kuntest tal-post jgħid lil NGINX fejn issib il-paġna tal-iżball tiegħek.
Issejvja l-fajl u agħlaqha.
Issa inkludi l-fajl fil-kuntest http sabiex il-blokki kollha tas-server jużaw il-paġna tal-iżball, fil-fajl /etc/nginx/nginx.conf:
$ sudo vim /etc/nginx/nginx.conf
Id-direttorju tal-inklużjoni jgħid lil NGINX biex jinkludi l-konfigurazzjoni fil-fajl .conf
speċifikat:
include snippets/custom-error-page.conf;
Alternattivament, tista' tinkludi l-fajl għal blokk ta' server speċifiku (magħruf komunement bħala vhost), pereżempju, /etc/nginx/conf.d/mywebsite.conf. Żid id-direttiva tal-inklużjoni ta' hawn fuq fil-kuntest tas-server {}
.
Issejvja l-fajl tal-konfigurazzjoni NGINX tiegħek u erġa' tagħbija s-servizz kif ġej:
$ sudo systemctl reload nginx.service
U ttestja minn browser jekk is-setup qed jaħdem tajjeb.
Oħloq Paġni tad-Dwana Differenti għal Kull Żball NGINX
Tista 'wkoll twaqqaf paġni ta' żball tad-dwana differenti għal kull żball HTTP f'NGINX. Skoprejna ġabra tajba ta 'paġni ta' żball nginx personalizzati maħluqa minn Denys Vitali fuq Github.
Biex twaqqaf ir-repożitorju fuq is-server tiegħek, mexxi l-kmandi li ġejjin:
$ sudo git clone https://github.com/denysvitali/nginx-error-pages /srv/http/default $ sudo mkdir /etc/nginx/snippets/ $ sudo ln -s /srv/http/default/snippets/error_pages.conf /etc/nginx/snippets/error_pages.conf $ sudo ln -s /srv/http/default/snippets/error_pages_content.conf /etc/nginx/snippets/error_pages_content.conf
Sussegwentement, żid il-konfigurazzjoni li ġejja jew fil-kuntest http tiegħek jew f'kull blokk/vhost tas-server:
include snippets/error_pages.conf;
Issejvja l-fajl tal-konfigurazzjoni NGINX tiegħek u erġa' tagħbija s-servizz kif ġej:
$ sudo systemctl reload nginx.service
Ukoll, ittestja minn browser jekk il-konfigurazzjoni qed taħdem kif maħsub. F'dan l-eżempju, ittestjajna l-paġna ta' żball 404.
Dak hu dak kollu li kellna għalik f'din il-gwida. Id-direttiva ta 'error_page ta' NGINX tippermettilek li terġa 'tidderieġi lill-utenti lejn paġna jew riżors jew URL definiti meta jseħħ żball. B'mod fakultattiv jippermetti wkoll il-modifika tal-kodiċi tal-istatus HTTP fir-rispons lil klijent. Għal aktar informazzjoni, aqra d-dokumentazzjoni tal-paġna tal-iżball nginx.