Tailscale Serve vs Funnel: લિંક ખરેખર કોણ ખોલી શકે?
Serve સેવાને તમારા tailnet સાથે શેર કરે છે, જ્યારે Funnel તેને ખુલ્લા ઇન્ટરનેટ પર ખુલ્લી પાડે છે. પ્રેક્ષકો, ઓળખ હેડરો અને Funnel માન્ય કરે તે પોર્ટની સરખામણી કરો.
બંને આદેશો સ્થાનિક સેવાને Tailscale HTTPS નામ દ્વારા પ્રકાશિત કરે છે, અને જે મશીન તેમને ચલાવે છે તેનાથી તે લગભગ સમાન દેખાય છે. તફાવત એ છે કે પછી URL સુધી કોણ પહોંચી શકે, અને તે તફાવત નક્કી કરે છે કે તમારી એપ્લિકેશનને હજી કયા નિયંત્રણોની જરૂર છે. Serve પ્રેક્ષકોને tailnet ની અંદર રાખે છે, જ્યારે Funnel તેમને ખુલ્લા ઇન્ટરનેટ પર ખસેડે છે. પહેલા પ્રેક્ષકો પસંદ કરો, પછી તે આદેશ પસંદ કરો જે તેમની સાથે મેળ ખાય.
Serve તમારા tailnet ની અંદર એક પ્રશ્નનો જવાબ આપે છે
Serve સ્થાનિક પોર્ટને પ્રોક્સી કરે છે અથવા તમારા tailnet ના ઉપકરણોને સ્થાનિક સામગ્રી પરોસે છે, અને tailnet ના ઍક્સેસ નિયમો દરેક વિનંતી પર લાગુ રહે છે. પોર્ટ 3000 પરનું ડેશબોર્ડ એવા HTTPS નામ પર પહોંચી શકાય તેવું બને છે જેને ફક્ત તમારા ઉપકરણો જ ઉકેલી અને જોડાઈ શકે. આંતરિક સાધનો માટે આ યોગ્ય ડિફૉલ્ટ છે, કારણ કે પ્રેક્ષકો પહેલેથી tailnet દ્વારા પ્રમાણિત છે અને તમે કોઈ જાહેર સપાટી ઉમેરતા નથી. URL સામાન્ય વેબસાઇટ જેવું દેખાય છે, અને તેથી જ લોકો તેને એવું માની લે છે.
Serve પોતે ફોરવર્ડ કરતી વિનંતીઓ સાથે tailnet વપરાશકર્તાનું વર્ણન કરતા ઓળખ હેડરો પણ જોડી શકે છે. જો તમારી એપ્લિકેશન તે હેડરોને પ્રમાણીકરણ તરીકે વિશ્વાસ કરે છે, તો બેકએન્ડને localhost સાથે બાંધો જેથી બીજું કંઈ સીધું તેની ઍક્સેસ ન કરી શકે; રૂટેબલ સરનામા પર સાંભળતું બેકએન્ડ એવી વિનંતીઓ મેળવી શકે છે જે ક્યારેય પ્રોક્સીમાંથી પસાર થઈ નથી.
Funnel પ્રેક્ષકોને ખુલ્લા ઇન્ટરનેટમાં બદલે છે
Funnel પસંદ કરેલી સેવાને URL ધરાવતા દરેકને પ્રકાશિત કરે છે, અને મુલાકાતીઓને ક્લાયન્ટ, ખાતું કે તમારા tailnet ની સભ્યપદની જરૂર નથી. તેથી સંસાધનને એ પ્રમાણીકરણ, દર-મર્યાદા અને પેચની જરૂર છે જે તમે કોઈપણ જાહેર સેવા પર લાગુ કરશો. જાહેર વિનંતીઓ Serve ના tailnet ઓળખ હેડરો ધરાવતી નથી, તેથી જે એપ્લિકેશન તેમના પર આધાર રાખતી હતી તેને Funnel હેઠળ કોઈ વપરાશકર્તા ઓળખ જ નથી. અલગ પ્રકાશન આદેશ પસંદ કરવાથી પ્રમાણીકરણનો પ્રશ્ન તમારા વતી હલ થતો નથી.
Funnel માં એવી મર્યાદાઓ પણ છે જે જૂની આવૃત્તિનું ટ્યુટોરિયલ કદાચ ઉલ્લેખ ન કરે. તે નામ માટે Tailscale મેળવે તે પ્રમાણપત્ર સાથે TLS સમાપ્ત કરે છે, અને ફક્ત ચોક્કસ સાંભળવાના પોર્ટને સમર્થન આપે છે, જેમ Funnel દસ્તાવેજીકરણ વર્ણવે છે. જો તમારી સેવા તે પોર્ટમાંથી એક પર HTTPS સિવાયનું પ્રોટોકોલ અપેક્ષા રાખે છે, તો Funnel કન્ફિગરેશનની કોયડા નહીં, પરંતુ ખોટું સાધન છે.
મોડને પોર્ટ પરથી નહીં, ક્લાયન્ટ પરથી વાંચો
કંઈપણ શેર કરતા પહેલા વર્તમાન સ્થિતિ તપાસો, કારણ કે બંને મોડ અલગ અલગ સમયે એક જ સ્થાનિક પોર્ટ માટે ગોઠવી શકાય છે. સ્થિતિ આદેશો જણાવે છે કે ખરેખર શું પ્રકાશિત થયું છે અને કોના માટે. URL પ્રતિસાદ આપે છે તે હકીકત પરથી પ્રેક્ષકોનું અનુમાન કરશો નહીં.
tailscale serve status
tailscale funnel status
tailscale status --json | head -40
ક્લાયન્ટ આવૃત્તિઓ દરમિયાન આદેશનું વાક્યરચના બદલાઈ છે, તેથી નકલ કરેલું કૉલ તમે ઇચ્છતા હતા તેના કરતાં અલગ મોડ પસંદ કરી શકે છે. તમે ચલાવો તે આવૃત્તિ માટે દસ્તાવેજીકૃત સ્વરૂપને પ્રાધાન્ય આપો, અને ધારી લેવાને બદલે ક્લાયન્ટ છાપે તે પુષ્ટિ વાંચો. જો Serve અને Funnel બંનેનું કન્ફિગરેશન હોય, તો જાહેર કરેલું એ જ એક્સપોઝર માટે મહત્વનું છે. તમે ઇચ્છતા ન હતા તે કન્ફિગરેશન ઉપર બીજું ચઢાવવાને બદલે તેને રીસેટ કરો.
જો આઉટપુટ પ્રેક્ષકોનું નામ ન આપે તો અટકો અને સ્થિતિ ફરી વાંચો. જાહેર કરાયેલ પ્રેક્ષકો વિનાનું URL એક અનુમાન છે, અને અનુમાનો એ જ રીત છે જેનાથી આંતરિક ડેશબોર્ડ ખુલ્લા ઇન્ટરનેટ પર પહોંચે છે.
તમે ખરેખર ઇચ્છતા હતા તે પ્રેક્ષકો સાથે પરીક્ષણ કરો
tailnet ની બહારથી પરીક્ષણ કરો, જે મશીને સેવા પ્રકાશિત કરી તેનાથી નહીં. tailnet ઉપકરણની વિનંતી સાબિત કરે છે કે પ્રોક્સી કામ કરે છે; તે સાબિત કરતી નથી કે અજાણી વ્યક્તિ બાકાત છે. એવું નેટવર્ક વાપરો જેમાં Tailscale ક્લાયન્ટ નથી અને tailnet માં કોઈ રૂટ નથી.
curl -sI https://host.tailnet-name.ts.net
curl -sI https://host.tailnet-name.ts.net --resolve host.tailnet-name.ts.net:443:203.0.113.10
આંતરિક ડેશબોર્ડ માટે બહારની વિનંતી જોડાણમાં નિષ્ફળ જવી જોઈએ અથવા અધિકૃતિમાં નિષ્ફળ જવી જોઈએ, અને અંદરની વિનંતી તમે અપેક્ષા રાખો તે ઓળખ સાથે સફળ થવી જોઈએ. જાહેર સેવા માટે બહારની વિનંતી સફળ થવી જોઈએ અને એપ્લિકેશને તેના પોતાના ઓળખપત્ર માંગવા જોઈએ. આ બેમાંથી કયું પરિણામ તમે જોયું તે નોંધો, કારણ કે ફક્ત URL તે કહેતું નથી. જો પરિણામ ઉદ્દેશની વિરુદ્ધ હોય, તો પહેલા જાહેર કન્ફિગરેશન દૂર કરો અને પછી તપાસ કરો.
સેવા પ્રકાશિત કરવી એ એક્ઝિટ નોડ પસંદ કરવાનો એ જ નિર્ણય નથી, જે નિયંત્રિત કરે છે કે તમારો આઉટગોઇંગ ટ્રાફિક ક્યાંથી નીકળે છે. Serve અને Funnel જવાબ આપે છે કે તમે ચલાવો છો તે વસ્તુ સુધી કોણ પહોંચી શકે; એક્ઝિટ નોડ જવાબ આપે છે કે તમારા પોતાના જોડાણો ક્યાંથી આવતા દેખાય છે. બંને પ્રશ્નો અલગ રાખો અને સરખામણી સરળ રહે છે.