Tailscale Serve ਬਨਾਮ 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 ਦੱਸਦੇ ਹਨ ਕਿ ਤੁਸੀਂ ਚਲਾਉਂਦੇ ਕਿਸੇ ਚੀਜ਼ ਤੱਕ ਕੌਣ ਪਹੁੰਚ ਸਕਦਾ ਹੈ; ਐਗਜ਼ਿਟ ਨੋਡ ਦੱਸਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਆਪਣੇ ਕਨੈਕਸ਼ਨ ਕਿੱਥੋਂ ਆਉਂਦੇ ਦਿਸਦੇ ਹਨ। ਦੋਵੇਂ ਸਵਾਲ ਵੱਖਰੇ ਰੱਖੋ ਅਤੇ ਤੁਲਨਾ ਸਧਾਰਨ ਰਹਿੰਦੀ ਹੈ।