Technical Anshu Nyumbani › Mafunzo › Kidhibiti Wakala wa Nginx Sakinisha
🐳 Wakala wa Kurudisha nyuma wa Docker

Sakinisha Kidhibiti cha Seva ya Nginx - Mwongozo wa Usanidi wa Dakika 2

Huduma zako kwa sasa zinaishi katika anwani mbaya kama vile 192.168.1.50:8080. Kidhibiti cha Wakala wa Nginx huzigeuza kuwa majina safi kama vile app.yourdomain.com yenye HTTPS isiyolipishwa - iliyosakinishwa kwa faili moja ya Kutunga Docker na kudhibitiwa kutoka kwa paneli rahisi ya wavuti badala ya faili za usanidi zilizoandikwa kwa mkono.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Sakinisha Kidhibiti cha Seva ya Nginx - Mwongozo wa Usanidi wa Dakika 2
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑Sura

  1. Kile seva mbadala hufanya - mlango mmoja wa huduma zako zote
  2. Unachohitaji kabla ya kuanza - Docker, kikoa, na bandari zinazoweza kufikiwa
  3. Elekeza kikoa chako cha DNS kwa seva kabla ya kusakinisha chochote
  4. Unda folda na faili ya docker-compose.yml
  5. Anzisha Kidhibiti cha Wakala wa Nginx kwa amri moja
  6. Kwanza kuingia - hatua ya akaunti ya msimamizi kila mtu anakosea
  7. Unda seva pangishi yako ya kwanza, uga kwa uga
  8. Pata cheti cha Lets Encrypt HTTPS bila malipo na uwashe Lazimisha SSL

📋 Muhtasari na Mwongozo wa Hatua kwa Hatua

1

Unachohitaji Kabla Ya Kuanza

Mambo matatu lazima yawepo kabla ya Meneja wa Wakala wa Nginx (NPM) kufanya kazi. Kwanza, seva ya Linux au Kompyuta iliyo na Docker na Docker Compose tayari imesakinishwa na kufanya kazi - NPM huendesha kama chombo, si kama programu ya kawaida. Pili, jina la kikoa ambalo DNS unaweza kuhariri, kwa sababu kila huduma inapata subdomain yake mwenyewe. Tatu, kipanga njia chako au ngome ya wingu lazima iweze kusambaza bandari 80 na 443 kwa mashine hii.

📌 Kuhusu "dakika 2" katika kichwa: kuanza kwa chombo chenyewe ni haraka sana - lakini mara tu Docker ikiwa tayari imesakinishwa na maandalizi katika mwongozo huu yamekamilika. Kwenye mashine mpya, ruhusu muda ufaao wa kusanidi, DNS na hatua za cheti; jumla ya uaminifu ni zaidi ya dakika mbili.
⚠️ Kwenye muunganisho wa nyumbani nyuma ya CGNAT, usambazaji wa mlango hauwezi kufanya kazi hata kidogo - hakuna mpangilio ndani ya NPM unaorekebisha hilo. Chaguo za uaminifu basi ni IP ya umma/tuli kutoka kwa ISP yako, VPS ndogo iliyokodishwa, au zana ya handaki badala yake. Usiruke ukaguzi huu: nusu ya hadithi zote za "NPM haifanyi kazi" ni hadithi za "bandari hazijafikia seva".
2

Elekeza DNS Yako ya Kikoa kwa Seva Kwanza

NPM huelekeza trafiki kwa jina, na Lets Encrypt hutoa vyeti kwa majina ambayo yanaonekana tu kwenye mashine yako - kwa hivyo jina lazima litatuliwe kabla ya kuunda chochote juu yake. Kwa msajili wako au seva pangishi ya DNS, ongeza Rekodi: Jina ni neno la kikoa kidogo pekee (kwa mfano programu) na Thamani ni anwani ya IP ya umma ya seva yako. Kila huduma hupata rekodi yake, na zote zinaweza kuelekeza kwa IP sawa - NPM hutenganisha huduma baadaye, kwa jina. Weka TTL fupi kama vile sekunde 300 unapojaribu, kwa hivyo makosa hufifia kwa dakika badala ya saa.

Thibitisha kabla ya kuendelea: hakikisha kwamba jina limetatuliwa kwa IP yako ya umma kutoka kwa mtandao wa nje (kwa mfano kutoka kwa simu yako na Wi-Fi imezimwa). Kuomba cheti dhidi ya taka za DNS zilizoharibika Huruhusu Majaribio ya Kusimba kwa Fiche, na kushindwa mara kwa mara kunaweza kukuwekea kikomo kwa saa. Agizo ni muhimu: DNS kwanza, seva mbadala ya pili, cheti cha tatu.

3

Unda Folda na Faili ya Kutunga

Tengeneza folda ya NPM kwenye seva na uhifadhi faili iliyo hapa chini ndani yake kama docker-compose.yml. Faili hii ni usakinishaji kamili. Jina la picha ndiyo taswira rasmi ya jumuiya. Bandari ya 80 na 443 ni milango ya umma, mlango wa 81 ni paneli ya msimamizi, na juzuu mbili ndizo mahali ambapo usanidi wako wote huishi: ./data hushikilia hifadhidata iliyo na seva pangishi seva mbadala, na ./letsencrypt inashikilia vyeti vyako. Poteza folda hizo mbili na utapoteza usanidi wote - zihifadhi nakala mara mambo yanapoendelea.

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Mstari wa washa upya: isipokuwa-umesimamishwa hurejesha NPM kiotomatiki baada ya kuwashwa upya.

4

Anzisha Kidhibiti cha Wakala wa Nginx

Kutoka ndani ya folda hiyo, endesha amri ya kuanza. Docker inapakua picha na kuanza kontena nyuma.

Terminal
docker compose up -d

Angalia inaendeshwa:

Terminal
docker ps

Unapaswa kuona kontena iliyoorodheshwa na bandari 80, 443 na 81. Kwenye seva ndogo kuanza kwa kwanza huchukua dakika moja au mbili wakati hifadhidata inaundwa. Ikiwa chombo kitaendelea kuwasha tena, kumbukumbu zinaonyesha sababu kwa lugha rahisi:

Terminal
docker compose logs

Mara tisa kati ya kumi kitanzi cha kuanzisha upya ni mlango ambao tayari unatumiwa na kitu kingine kwenye seva pangishi - kwa kawaida seva ya wavuti ya zamani bado inafanya kazi.

5

Kuingia Kwanza - Linda Akaunti ya Msimamizi Mara Moja

Fungua paneli ya msimamizi katika kivinjari kwenye mtandao wako mwenyewe:

Browser Address Bar
http://your-server-ip:81

Fanya hivi katika dakika ya kwanza. Kulingana na muundo, NPM aidha inakuuliza ubadilishe maelezo ya msimamizi wa kuingia kwa mara ya kwanza na barua pepe yako mwenyewe na nenosiri dhabiti, au - kwenye miundo mpya zaidi isiyo na akaunti chaguo-msingi - mtu wa kwanza kufungua ukurasa wa msimamizi huunda msimamizi. Kwa vyovyote vile sheria ni sawa: fungua akaunti yako ya msimamizi wakati kontena inapoanza, kabla ya kuunda kitu kingine chochote, na utumie kisanduku cha barua halisi - barua pepe za NPM zinazoshughulikia matatizo ya cheti.

⚠️ Usiwahi kuondoka bandari 81 inayoweza kufikiwa na umma wakati "ukiimaliza baadaye". Mtu yeyote kwenye mtandao anayepata kidirisha kwanza anamiliki seva mbadala yako. Weka kidirisha cha msimamizi kwenye mtandao wako pekee.
6

Unda Mpangishaji Wakala Wako wa Kwanza

Katika NPM fungua Wapangishi → Wapangishi Wakala → Ongeza Sevaji Seva Proksi na ujaze fomu kama sentensi moja - "jina hili huenda kwa huduma hiyo ya ndani":

Majina ya Vikoa: app.yourdomain.com - jina kamili la umma kutoka Hatua ya 2, ambayo lazima tayari kusuluhishwa kwa seva yako.
Mpango: http kwa programu nyingi za nyumbani na ofisini. Mpango unafafanua muunganisho kati ya NPM na huduma ya ndani, si kile ambacho wageni hutumia - NPM hushughulikia usimbaji fiche wa umma mlangoni. Chagua https hapa tu wakati programu ya ndani yenyewe inatumia HTTPS.
Sambaza Jina la Mpangishi / IP: anwani ya ndani ya huduma, kwa mfano 192.168.1.50.
Mlango wa Mbele: lango ambalo huduma husikiliza, kwa mfano 8080 - si 80 au 443; hiyo ni milango ya NPM, sio ya huduma.

Washa Zuia Matumizi ya Kawaida, kisha Hifadhi. Jaribu mara moja kwa kufungua jina katika kivinjari - haswa kutoka kwa simu yako na Wi-Fi imezimwa, ili ujaribu njia halisi ya umma.

✅ Njia ya 502 Bad Lango kutoka kwa NPM ni ishara, sio kushindwa: inamaanisha kuwa ulimwengu wa nje ulifikia NPM kikamilifu na ni hop ya mwisho ya ndani pekee - jina la mpangishaji au port - sio sahihi. Rekebisha uga huo, sio usanidi mzima. Mtego mmoja zaidi: ikiwa huduma itaendeshwa kwenye kontena lingine la Docker, localhost si sahihi (ndani ya chombo cha NPM, localhost inamaanisha NPM yenyewe) - tumia IP ya LAN ya seva na mlango uliochapishwa, au weka vyombo vyote kwenye mtandao huo wa Docker na utumie jina la chombo.
7

Pata Cheti cha Bure cha Lets Encrypt HTTPS

Fanya hivi baada ya seva pangishi kutoka Hatua ya 6 tayari kufanya kazi - HTTPS kwenye seva pangishi iliyovunjika hukupa seva pangishi iliyovunjika na cheti, na mara mbili maeneo ya kutafuta kosa. Fungua seva mbadala ile ile, nenda kwenye kichupo cha SSL, weka Cheti cha SSL ili Uombe Cheti kipya cha SSL, uwashe Lazimisha SSL na Usaidizi wa HTTP/2, ukubali Sheria na Masharti ya Lets Encrypt and Save. Pakia upya tovuti - kivinjari kinapaswa kuonyesha kufuli kwenye https.

Jinsi inavyofanya kazi: Lets Encrypt inathibitisha kuwa unadhibiti jina kwa kuuliza seva yako, kwenye mtandao wa umma kwenye port 80, kuonyesha tokeni ya mara moja (changamoto ya HTTP-01). Ndio maana DNS inayokuelekeza na bandari inayoweza kufikiwa 80 haiwezi kujadiliwa - ikishindwa moja na ombi halifaulu, na hitilafu iko kwenye usanidi, kamwe katika Lets Encrypt. Lazimisha SSL inaelekeza upya kila mgeni wa http kwa https moja kwa moja; bila hiyo mlango ambao haujasimbwa hubaki wazi kando ya ule uliosimbwa.

📌 Vyeti huishi kwa siku 90 na NPM huvisasisha kiotomatiki, kwa kawaida takriban mwezi mmoja kabla ya muda wake kuisha, kwa kutumia uthibitisho sawa wa port-80. Ikiwa usasishaji utashindwa, angalia sababu za kuchosha kwanza: DNS ilibadilishwa, usambazaji wa kipanga njia uliondolewa, au bandari 80 ilizuiwa. Washa HSTS mara tu huduma itakapotatuliwa na usasishaji kuthibitishwa - ni ahadi kali ambayo vivinjari hukumbuka kwa miezi.

🏷️Vigezo vya Utafutaji wa Mada na Maneno muhimu

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ Nakala Kamili — gusa ili upanue

__TOK_34__

__TOK_35__

__TOK_36__

❓ Maswali Yanayoulizwa Sana

Je, mafunzo haya ni bure kwa 100% kufuata?

__TOK_37__

Je, wanaoanza wanaweza kufuata mwongozo huu?

__TOK_38__

Ninaweza kuuliza maswali wapi nikikwama?

__TOK_39__

🚀 Tazama Mafunzo Kamili kwenye YouTube

__TOK_40__

__TOK_41__

▶️ Tazama Video Kamili
Mafunzo haya yanatokana na Kidhibiti cha Seva cha Ufundi cha Anshu cha Nginx Sakinisha video • Je, umekwama kwa hatua yoyote? Uliza kwenye maoni ya video — utapata usaidizi hapo 🙏