Modhanna íocaíochta Abuse

Conas a atreorú ó WWW go neamh-WWW i Nginx

22.02.2022, 20:05


D'fhonn suíomh a bharrfheabhsú de réir rialacha Sinsearach, caithfidh fearann amháin a bheith aige. Meastar gur fearann ar leith é fofhearann le www; mura bhfuil sé ar fáil, beidh ábhar dúblach mar thoradh air. Cad a chiallaíonn sé? Is gnéithe neamh-inmhianaithe iad dúblaigh a fhágann go mbíonn laghdú ar shuíomh an tsuímh i dtorthaí inneall cuardaigh go minic. Sin an fáth gur fiú a atreorú ó fhearann www go dtí fearann nach www. Mar sin ar dtús, baineadh úsáid as an bhfofhearann www chun a chur in iúl nach bhféadfadh an freastalaí freastalaí gréasáin a imscaradh agus go raibh sé ina óstach ar shuíomh Gréasáin. Anois níl sé seo riachtanach a thuilleadh. San Airteagal seo féachfaimid ar conas a atreorú ó www go Nginx neamh-www.

Conas a atreorú gan WWW i NGINX

Is é an bealach is simplí chun atreorú a dhéanamh i Nginx don fhearann www ná rannóg freastalaí ar leith a chruthú dó agus an t-atreorú a dhéanamh as sin. Mar shampla:

 server { server_name www.losst.ru; return 301 $scheme://losst.ru$request_uri; }

I gcás nuair is gá próiseáil www agus neamh-www a chur in iúl sa rannóg freastalaí céanna, is féidir leat coinníoll agus léiriú rialta a úsáid. Nuair a thosaíonn athróg an óstaigh leis na litreacha www, ní mór duit cód freagartha 301 agus nasc a chur ar ais chuige ar cheart an t-úsáideoir a atreorú:

 if ($host ~* ^www.(.*)$) { return 301 $scheme://$server_name$request_uri; }

Ba cheart an cód a chur leis an gcuid freastalaí den suíomh ar cheart an t-atreorú a chumrú dó. Má úsáideann tú teastas LetsEncrypt SSL, chun é a ghiniúint ní mór duit deimhniú an fhearainn www, agus d'fhearainn nach mbaineann le www. Maidir le hiarratas deimhnithe, ba cheart freagra a thabhairt ar ais, ní atreorú. Chun seo a dhéanamh, is féidir leat athróg $need_redirect a chruthú, agus ansin a luach a athrú le roinnt coinníollacha:

 set $need_redirect "0"; if ($host ~* ^www.(.*)$) { set $need_redirect "1"; } if ($request_uri ~* "well-known") { set $need_redirect "0"; } if ( $need_redirect ~ "1") { return 301 https://$server_name$request_uri;

Nuair a bheidh an focal aithnidiúil san URL, a úsáidtear san iarratas fíoraithe fearainn ar dheimhniú SSL, teipfidh an t-atreorú. Sábháil do shocruithe. Sábháil na socruithe agus atosaigh Nginx:

 nginx -s reload

Nó:

sudo systemctl restart nginx

Tar éis seo, is féidir leat a sheiceáil an n-oibríonn an t-atreorú ag baint úsáide as curl :

 curl -I www.losst.ru

Cuirfear an t-atreorú ar ais; sa réimse Suíomh tá URL inar cheart an t-úsáideoir a atreorú. Ach má dhéanann tú iarracht an URL a rochtain ó LetsEncrypt, ní bheidh aon atreorú ann:

 curl -I https://www.losst.ru/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxx

Tá gach rud ag obair de réir an phlean, mar a bheifí ag súil leis. Ag an bpointe seo, is féidir na treoracha a mheas iomlán.