$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?>$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ਸਫਲ ਤੈਨਾਤੀ ਤੋਂ ਬਾਅਦ

ਸਫਲ ਤੈਨਾਤੀ ਤੋਂ ਬਾਅਦ Cloudflare ਵਰਕਰ 404 ਗਲਤੀ ਨੂੰ ਹੱਲ ਕਰਨਾ

Cloudflare Workers

ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਨਾਲ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਸੰਬੰਧੀ ਮੁੱਦਿਆਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨਾ

ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਇੱਕ ਜ਼ਰੂਰੀ ਪੜਾਅ ਇੱਕ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਸਥਾਪਤ ਕਰ ਰਿਹਾ ਹੈ ਤਾਂ ਜੋ ਲਾਈਵ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਅੱਪਡੇਟਾਂ ਦੀ ਸਹੀ ਤਰ੍ਹਾਂ ਜਾਂਚ ਕੀਤੀ ਜਾ ਸਕੇ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਪ੍ਰਾਇਮਰੀ ਵੈਬਸਾਈਟ ਨੂੰ ਵਿਕਾਸ ਦੇ ਅਧੀਨ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰ ਰਹੇ ਸਨ।

ਮੌਜੂਦਾ ਗਿੱਟ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਕਲੋਨ ਕਰਨ ਅਤੇ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਅਤੇ ਪੰਨਿਆਂ ਦੁਆਰਾ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਨਾਲ ਜੋੜਨ ਤੋਂ ਬਾਅਦ, ਸਭ ਕੁਝ ਠੀਕ ਕੰਮ ਕਰਦਾ ਜਾਪਦਾ ਸੀ। ਲੌਗਸ ਨੇ ਸੰਕੇਤ ਦਿੱਤਾ ਕਿ ਤੈਨਾਤੀ ਸਫਲ ਸੀ, ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਲਾਈਵ ਉਦਾਹਰਨ ਬਣਾਉਣ ਦਾ ਸੰਕੇਤ ਦੇਵੇਗੀ।

ਪਰ ਜਦੋਂ ਡਿਵੈਲਪਰ ਨੇ ਦਿੱਤੇ ਕਲਾਉਡਫਲੇਅਰ ਪਤੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ, ਤਾਂ ਇੱਕ 404 ਗਲਤੀ ਸੁਨੇਹਾ ਪ੍ਰਗਟ ਹੋਇਆ, ਜਿਸ ਨਾਲ ਉਸਨੂੰ ਯਕੀਨ ਨਹੀਂ ਹੋਇਆ ਕਿ ਕੀ ਗਲਤ ਹੋਇਆ ਹੈ। ਇਸ ਕਿਸਮ ਦੇ ਮੁੱਦਿਆਂ ਨਾਲ ਨਜਿੱਠਣਾ ਤੰਗ ਕਰਨ ਵਾਲਾ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਇਹ ਵਿਸ਼ਵਾਸ ਹੁੰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਨੂੰ ਤੈਨਾਤੀ ਦੇ ਤੁਰੰਤ ਬਾਅਦ ਲਾਈਵ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

ਇਹ ਅਸਪਸ਼ਟ ਹੈ ਕਿ ਕੀ ਇੱਕ ਦੂਜੇ ਸਰਵਰ ਦੀ ਲੋੜ ਹੈ ਜਾਂ ਜੇ ਕੋਈ ਹੋਰ ਚੀਜ਼ ਹੈ ਜੋ ਨਵੀਂ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਰਗਰਮ ਕਰਨ ਲਈ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਅਸੀਂ ਇਸ 404 ਸਮੱਸਿਆ ਦੇ ਕਾਰਨਾਂ ਨੂੰ ਦੇਖਾਂਗੇ ਅਤੇ ਇਸ ਲੇਖ ਵਿੱਚ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਨ ਲਈ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਜ਼ ਸਰਵਰ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
window.onload ਇਹ JavaScript ਇਵੈਂਟ ਉਦੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਪੰਨੇ ਦੀ ਸਾਰੀ ਸਮੱਗਰੀ, ਸਟਾਈਲਸ਼ੀਟਾਂ, ਤਸਵੀਰਾਂ ਅਤੇ ਬਾਹਰੀ ਸਰੋਤਾਂ ਸਮੇਤ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਡ ਹੋ ਜਾਂਦੀ ਹੈ। ਇਹ ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ ਕਿ ਪੰਨਾ ਤਿਆਰ ਹੋਣ ਤੋਂ ਬਾਅਦ ਹੀ ਰੀਡਾਇਰੈਕਸ਼ਨ ਜਾਂਚ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ।
fetch() ਮੌਜੂਦਾ ਬ੍ਰਾਊਜ਼ਰਾਂ ਲਈ ਇੱਕ API ਜੋ ਨੈੱਟਵਰਕਾਂ ਦੀ ਬੇਨਤੀ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਸ ਮੌਕੇ ਵਿੱਚ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ Cloudflare ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਇੱਕ URL ਜਾਂ ਸਰੋਤ ਉਪਲਬਧ ਹੈ। ਜੇਕਰ ਬੇਨਤੀ ਅਸਫਲ ਹੁੰਦੀ ਹੈ ਜਾਂ 404 ਗਲਤੀ ਵਾਪਸ ਕਰਦੀ ਹੈ, ਤਾਂ ਹੋਰ ਕਦਮ ਸ਼ੁਰੂ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ।
response.status HTTP ਸਥਿਤੀ ਕੋਡ ਜਿਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਬੇਨਤੀ ਵਾਪਸ ਕੀਤੀ ਗਈ ਹੈ, ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਜਾਂਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਸਾਡੀ ਉਦਾਹਰਨ ਵਿੱਚ, ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਜਵਾਬ 404 ਹੈ (ਸਰੋਤ ਨਹੀਂ ਮਿਲਿਆ) ਅਤੇ, ਜੇਕਰ ਅਜਿਹਾ ਹੈ, ਤਾਂ ਇੱਕ ਵਿਅਕਤੀਗਤ ਰੀਡਾਇਰੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ।
addEventListener('fetch') ਹਰ ਵਾਰ ਜਦੋਂ ਵਰਕਰ ਇੱਕ ਨੈਟਵਰਕ ਬੇਨਤੀ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਇਹ ਵਿਧੀ ਫੈਚ ਇਵੈਂਟਾਂ ਲਈ ਦੇਖਦੀ ਹੈ। ਅਸੀਂ ਇਸਨੂੰ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੇ ਅੰਦਰ ਸਮੱਸਿਆਵਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਜਾਂ ਇਹਨਾਂ ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਣ ਅਤੇ ਵਿਅਕਤੀਗਤ ਜਵਾਬ ਵਾਪਸ ਕਰਨ ਲਈ ਵਰਤ ਸਕਦੇ ਹਾਂ।
new Response() ਸਿਰਲੇਖ, ਇੱਕ ਕਸਟਮ ਬਾਡੀ, ਅਤੇ ਇੱਕ ਕਸਟਮ ਸਥਿਤੀ ਕੋਡ ਵਾਲਾ ਇੱਕ ਨਵਾਂ HTTP ਜਵਾਬ ਆਬਜੈਕਟ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇੱਕ ਸਰੋਤ ਦਾ ਪਤਾ ਨਹੀਂ ਲਗਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਉਪਯੋਗ ਗਤੀਸ਼ੀਲ ਜਵਾਬ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਵਿਅਕਤੀਗਤ 404 ਪੰਨਾ ਪ੍ਰਦਾਨ ਕਰਨਾ।
assert.equal() Node.js ਅਸਰਟ ਮੋਡੀਊਲ ਤੋਂ ਇਹ ਵਿਧੀ ਸਮਾਨਤਾ ਲਈ ਦੋ ਮੁੱਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇੱਛਤ ਸਥਿਤੀ ਕੋਡ (200, 404) Cloudflare ਪੰਨਿਆਂ ਦੇ ਅਸਲ ਜਵਾਬ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਇਹ ਅਕਸਰ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
describe() Node.js ਅਸਰਟ ਮੋਡੀਊਲ ਤੋਂ ਇਹ ਵਿਧੀ ਸਮਾਨਤਾ ਲਈ ਦੋ ਮੁੱਲਾਂ ਦੀ ਤੁਲਨਾ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇੱਛਤ ਸਥਿਤੀ ਕੋਡ (200, 404) Cloudflare ਪੰਨਿਆਂ ਦੇ ਅਸਲ ਜਵਾਬ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ, ਇਹ ਅਕਸਰ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
event.respondWith() ਡਿਫੌਲਟ ਫੈਚ ਹੈਂਡਲਿੰਗ ਲਈ ਇੱਕ ਕਸਟਮ ਜਵਾਬ ਨੂੰ ਬਦਲਣ ਲਈ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਤੁਹਾਨੂੰ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਸੋਧਣ ਦਿੰਦਾ ਹੈ, ਜੋ ਕਿ 404 ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਫੜਨ ਅਤੇ ਵਿਅਕਤੀਗਤ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਸਹਾਇਕ ਹੈ।
async function ਇੱਕ ਅਸਿੰਕ੍ਰੋਨਸ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਕੇ, ਇਹ ਕੀਵਰਡ ਉਡੀਕ ਦੇ ਨਾਲ ਵਾਅਦਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਸ ਮੌਕੇ ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਕਿਸੇ ਵੀ ਵਾਧੂ ਤਰਕ ਨੂੰ ਕਰਨ ਤੋਂ ਰੋਕਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਨੈੱਟਵਰਕ ਬੇਨਤੀ ਹੱਲ ਨਹੀਂ ਹੋ ਜਾਂਦੀ।

ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ ਅਤੇ ਸਕ੍ਰਿਪਟਾਂ 404 ਗਲਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਦੀਆਂ ਹਨ

ਦਿੱਤੀ ਗਈ ਉਦਾਹਰਨ ਵਿੱਚ ਪਹਿਲੀ ਸਕ੍ਰਿਪਟ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਕਿਵੇਂ ਵਰਤਣਾ ਹੈ ਫਰੰਟਐਂਡ 'ਤੇ 404 ਗਲਤੀ ਨੂੰ ਸੰਭਾਲਣ ਲਈ. ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ ਪੰਨੇ ਦੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਲੋਡ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰਨ ਲਈ ਇਵੈਂਟ। ਪੰਨਾ ਬਣਾਉਂਦਾ ਹੈ ਏ ਇਹ ਦੇਖਣ ਲਈ ਬੇਨਤੀ ਕਰੋ ਕਿ ਕੀ ਇੱਕ ਵਾਰ ਲੋਡ ਹੋਣ ਤੋਂ ਬਾਅਦ ਸਰੋਤ ਉਪਲਬਧ ਹੈ ਜਾਂ ਨਹੀਂ। ਉਪਭੋਗਤਾ ਨੂੰ ਇੱਕ ਅਨੁਕੂਲਿਤ ਗਲਤੀ ਪੰਨੇ 'ਤੇ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਜੇਕਰ ਸਰੋਤ ਇੱਕ 404 ਗਲਤੀ ਦਿੰਦਾ ਹੈ। ਬੈਕਐਂਡ ਦੀ ਸ਼ਮੂਲੀਅਤ ਦੀ ਕੋਈ ਲੋੜ ਦੇ ਨਾਲ, ਇਹ ਤਕਨੀਕ ਖਾਸ ਤੌਰ 'ਤੇ ਉਪਭੋਗਤਾ ਦੇ ਬ੍ਰਾਉਜ਼ਰ ਵਿੱਚ ਅਸਫਲਤਾਵਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਅਤੇ ਕਿਸੇ ਵੀ ਗੁੰਮ ਹੋਏ ਪੰਨਿਆਂ ਜਾਂ ਸਰੋਤਾਂ ਲਈ ਫਾਲਬੈਕ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਉਪਯੋਗੀ ਹੈ।

ਦੂਜੀ ਉਦਾਹਰਨ ਵਿੱਚ, ਸਕ੍ਰਿਪਟ ਇੱਕ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਬੇਨਤੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਇਹ ਬੈਕਐਂਡ ਵੱਲ ਜਾਂਦਾ ਹੈ। ਵਰਕਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਇਵੈਂਟਾਂ ਨੂੰ ਸੁਣਨ ਦਾ ਤਰੀਕਾ ਅਤੇ ਬੇਨਤੀਆਂ ਪ੍ਰਾਪਤ ਕਰਨ 'ਤੇ ਇੰਟਰਸੈਪਟਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਜੇਕਰ ਬੇਨਤੀ ਕੀਤੇ ਪੰਨੇ ਮੌਜੂਦ ਨਾ ਹੋਣ ਕਾਰਨ ਇੱਕ 404 ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਕਰਮਚਾਰੀ ਗਤੀਸ਼ੀਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਅਨੁਕੂਲਿਤ ਤਰੁਟੀ ਪੰਨਾ ਪ੍ਰਦਾਨ ਕਰੇਗਾ। ਇਹ ਰਣਨੀਤੀ ਸਰਵਰ ਜਵਾਬਾਂ ਦੇ ਪ੍ਰਬੰਧਨ ਲਈ ਚੰਗੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਧੇਰੇ ਅਨੁਕੂਲ ਅਤੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੀ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਉਤਪਾਦਨ ਅਤੇ ਸਟੇਜਿੰਗ ਜਾਂ ਗਤੀਸ਼ੀਲ ਸਮੱਗਰੀ ਵਰਗੇ ਵੱਖ-ਵੱਖ ਸੰਦਰਭਾਂ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹੋ।

ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਤੈਨਾਤ ਕੀਤਾ ਗਿਆ ਹੈ ਅਤੇ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ, ਤੀਜੀ ਉਦਾਹਰਣ ਵਿੱਚ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਪੇਸ਼ ਕੀਤੀ ਗਈ ਹੈ। ਇਹ ਇਹ ਦੇਖਣ ਲਈ ਸਵੈਚਲਿਤ ਟੈਸਟ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਕਲਾਉਡਫਲੇਅਰ ਪੇਜਾਂ ਦੀ ਤੈਨਾਤੀ ਸਹੀ HTTP ਸਥਿਤੀ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਾਪਸ ਕਰਦੀ ਹੈ ਅਤੇ ਇੱਕ ਟੈਸਟਿੰਗ ਫਰੇਮਵਰਕ ਜਿਵੇਂ ਕਿ ਮੋਚਾ। ਮੁੱਖ ਪੰਨੇ ਲਈ ਟੈਸਟ (ਜੋ ਇੱਕ 200 ਸਥਿਤੀ ਮੰਨਦਾ ਹੈ) ਅਤੇ ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਪੰਨੇ ਲਈ ਟੈਸਟ (ਜੋ 404 ਸਥਿਤੀ ਦੀ ਉਮੀਦ ਕਰਦਾ ਹੈ) ਦੋਵੇਂ ਟੈਸਟ ਸੂਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ ਹਨ। ਇਹ ਟੈਸਟ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ ਹਰ ਚੀਜ਼ ਯੋਜਨਾ ਦੇ ਅਨੁਸਾਰ ਤੈਨਾਤ ਕੀਤੀ ਗਈ ਹੈ ਅਤੇ ਕਿਸੇ ਵੀ ਟੁੱਟੇ ਪੰਨੇ ਜਾਂ ਲਿੰਕਾਂ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਉਚਿਤ ਜਵਾਬ ਮਿਲਦਾ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਟੈਸਟਾਂ ਦੀ ਵਰਤੋਂ ਕਮਾਂਡਾਂ ਗਾਰੰਟੀ ਦਿੰਦੀਆਂ ਹਨ ਕਿ ਜਵਾਬ ਸਥਿਤੀ ਕੋਡਾਂ ਵਿੱਚ ਕਿਸੇ ਵੀ ਅੰਤਰ ਨੂੰ ਤੁਰੰਤ ਖੋਜਿਆ ਜਾਂਦਾ ਹੈ। ਨਿਰੰਤਰ ਏਕੀਕਰਣ ਅਤੇ ਤੈਨਾਤੀ (CI/CD) ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ, ਜਿੱਥੇ ਤੈਨਾਤੀ ਵਿਵਹਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ ਡਾਊਨਟਾਈਮ ਜਾਂ ਟੁੱਟੇ ਕੁਨੈਕਸ਼ਨਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਟੈਸਟ ਲਾਜ਼ਮੀ ਹਨ। ਸਾਰੀਆਂ ਚੀਜ਼ਾਂ 'ਤੇ ਵਿਚਾਰ ਕੀਤਾ ਗਿਆ, ਫਰੰਟਐਂਡ ਰੀਡਾਇਰੈਕਸ਼ਨ, ਬੈਕਐਂਡ ਐਰਰ ਹੈਂਡਲਿੰਗ, ਅਤੇ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਦਾ ਏਕੀਕਰਨ ਤੁਹਾਡੇ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੀ ਤੈਨਾਤੀ ਦੇ ਸਹਿਜ ਸੰਚਾਲਨ ਦੀ ਗਰੰਟੀ ਦੇਣ ਲਈ ਇੱਕ ਪੂਰੀ ਪਹੁੰਚ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ — ਭਾਵੇਂ ਗੈਰਹਾਜ਼ਰ ਸਰੋਤਾਂ ਜਾਂ ਅਨੁਕੂਲਿਤ ਸਥਿਤੀਆਂ ਜਿਵੇਂ ਕਿ ਸਟੇਜਿੰਗ ਸਰਵਰ ਦੇ ਬਾਵਜੂਦ।

ਹੱਲ 1: ਫਰੰਟਐਂਡ JavaScript ਰੀਡਾਇਰੈਕਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ Cloudflare 404 ਗਲਤੀ ਨੂੰ ਹੱਲ ਕਰਨਾ

ਵਿਜ਼ਟਰ ਨੂੰ ਫਾਲਬੈਕ ਪੰਨੇ 'ਤੇ ਭੇਜ ਕੇ ਜਦੋਂ ਬੇਨਤੀ ਕੀਤੇ ਸਰੋਤ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਇਹ ਵਿਧੀ ਰੀਡਾਇਰੈਕਸ਼ਨ ਨੂੰ ਸੰਭਾਲਣ ਅਤੇ 404 ਗਲਤੀ ਤੋਂ ਬਚਣ ਲਈ JavaScript ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ।

// Frontend JavaScript for handling redirection
// This script checks if a resource is available on the Cloudflare page
// If not, it redirects to a fallback page
window.onload = function () {
  fetch(window.location.href)
    .then(response => {
      if (response.status === 404) {
        window.location.href = '/404.html';  // Redirect to custom 404 page
      }
    })
    .catch(error => {
      console.error('Error fetching the page:', error);
      window.location.href = '/error.html';  // Redirect to error page
    });
};

ਹੱਲ 2: 404 ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਬੈਕਐਂਡ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰ

ਇਸ ਹੱਲ ਵਿੱਚ, 404 ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਇੱਕ ਕਸਟਮ ਫਾਲਬੈਕ ਪੇਜ ਤੇ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਬੇਨਤੀਆਂ ਨੂੰ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੁਆਰਾ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ। ਕਲਾਉਡਫਲੇਅਰ ਦੀ ਗਤੀਸ਼ੀਲ ਬੈਕਐਂਡ ਹੈਂਡਲਿੰਗ ਲਈ, ਇਹ ਸਕ੍ਰਿਪਟ ਸੰਪੂਰਨ ਹੈ।

// Cloudflare Worker script for managing 404 errors
// The script checks if the requested path exists, and if not, returns a custom 404 page
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
  try {
    const response = await fetch(request);
    if (response.status === 404) {
      return new Response('Custom 404 Page', { status: 404 });
    }
    return response;
  } catch (error) {
    return new Response('Error occurred: ' + error.message, { status: 500 });
  }
}

ਹੱਲ 3: Cloudflare ਪੰਨਿਆਂ ਲਈ ਤੈਨਾਤੀ ਜਾਂਚ ਅਤੇ ਯੂਨਿਟ ਟੈਸਟਿੰਗ

ਇਸ ਵਿਧੀ ਵਿੱਚ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਸਕ੍ਰਿਪਟਾਂ ਦੋਵਾਂ ਦੇ ਸੰਚਾਲਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ Cloudflare ਪੰਨਿਆਂ ਦੀ ਤੈਨਾਤੀ ਸਰਗਰਮ ਹੈ ਜਾਂ ਨਹੀਂ।

// Example unit test for deployment verification
// Using JavaScript to ensure that Cloudflare Pages return the correct response
const assert = require('assert');
const fetch = require('node-fetch');
describe('Cloudflare Deployment Test', function() {
  it('should return 200 for the main page', async function() {
    const response = await fetch('https://your-domain.pages.dev');
    assert.equal(response.status, 200);
  });
  it('should return 404 for non-existent page', async function() {
    const response = await fetch('https://your-domain.pages.dev/unknown');
    assert.equal(response.status, 404);
  });
});

ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਨੂੰ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਨ ਨੂੰ ਸਮਝਣਾ

ਵਿਕਾਸ ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ, ਕੰਮ ਕਰਦੇ ਸਮੇਂ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਨੂੰ ਸਥਾਪਿਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੋ ਸਕਦਾ ਹੈ . ਡਿਵੈਲਪਰ ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਪ੍ਰੋਡਕਸ਼ਨ ਸਰਵਰ 'ਤੇ ਤੈਨਾਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ ਵਿੱਚ ਟੈਸਟ ਕਰ ਸਕਦੇ ਹਨ। ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਜਿਵੇਂ ਕਿ 404 ਗਲਤੀ ਦਰਸਾਈ ਗਈ ਹੈ, ਇਹ ਵਾਤਾਵਰਣ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ ਜਦੋਂ ਇਹ ਪਹਿਲੀ ਵਾਰ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਡਿਵੈਲਪਰ ਅਕਸਰ ਵਿਸ਼ਵਾਸ ਕਰਦੇ ਹਨ ਕਿ ਇੱਕ ਲਾਈਵ ਸਰਵਰ ਨੂੰ ਲਾਂਚ ਕਰਨ ਲਈ ਸਭ ਕੁਝ ਇੱਕ GitHub ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਕਲੋਨ ਕਰਨਾ ਅਤੇ ਇਸਨੂੰ ਕਲਾਉਡਫਲੇਅਰ ਪੰਨਿਆਂ ਨਾਲ ਜੋੜਨਾ ਹੈ। ਹਾਲਾਂਕਿ Cloudflare ਆਪਣੇ ਆਪ ਸਥਿਰ ਸਾਈਟਾਂ ਨੂੰ ਤੈਨਾਤ ਕਰਦਾ ਹੈ, ਜੇਕਰ ਕਰਮਚਾਰੀ ਦੀ ਰੂਟਿੰਗ ਸੰਰਚਨਾ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈਟ ਅਪ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ।

ਇੱਕ 404 ਗਲਤੀ ਦਾ ਅਕਸਰ ਮਤਲਬ ਹੁੰਦਾ ਹੈ ਕਿ ਬੇਨਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਰੋਕਿਆ ਨਹੀਂ ਜਾ ਰਿਹਾ ਹੈ . ਕਸਟਮ ਰੂਟਿੰਗ ਨਿਯਮ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਲਈ ਇਹ ਗਾਰੰਟੀ ਦੇਣ ਲਈ ਜ਼ਰੂਰੀ ਹਨ ਕਿ ਬੇਨਤੀਆਂ ਸਹੀ ਥਾਂ 'ਤੇ ਭੇਜੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਸਾਈਟ ਦੇ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ, ਕੁਝ ਪੰਨਿਆਂ ਲਈ ਬੇਨਤੀਆਂ ਇੱਕ 404 ਗਲਤੀ ਵਾਪਸ ਕਰ ਸਕਦੀਆਂ ਹਨ ਜੇਕਰ ਇਹ ਰੂਟ ਸਥਾਪਤ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਵਰਕਰ ਸਕ੍ਰਿਪਟ ਸਟੇਜਿੰਗ ਡੋਮੇਨ ਨਾਲ ਜੁੜੀ ਹੋਈ ਹੈ, ਇਹ ਵੀ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ ਸੰਗਠਿਤ ਵਰਕਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਤੇ ਰੂਟਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਕੇ ਵਿਕਾਸ ਦੌਰਾਨ ਇਹਨਾਂ ਗਲਤੀਆਂ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।

ਇਹ ਬਣਾਉਣਾ ਕਿ ਵਰਕਰ ਅਜੇ ਵੀ ਤੁਹਾਡੇ ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਕਦਮ ਹੈ। ਕਰਮਚਾਰੀ ਕਦੇ-ਕਦਾਈਂ ਤੈਨਾਤੀ ਦੇ ਦੌਰਾਨ ਆਪਣੇ ਆਪ ਨੂੰ ਨਵੇਂ ਵਾਤਾਵਰਣ ਨਾਲ ਜੋੜਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਜਦੋਂ ਕਈ ਵਾਤਾਵਰਣ ਹੁੰਦੇ ਹਨ (ਜਿਵੇਂ ਕਿ ਉਤਪਾਦਨ ਅਤੇ ਸਟੇਜਿੰਗ)। ਵਰਕਰ ਨੂੰ ਖਾਸ ਵਾਤਾਵਰਣ ਨਾਲ ਹੱਥੀਂ ਲਿੰਕ ਕਰਨ ਲਈ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਇਹ ਬੇਨਤੀਆਂ ਨੂੰ ਉਚਿਤ ਢੰਗ ਨਾਲ ਪ੍ਰਕਿਰਿਆ ਕਰਦਾ ਹੈ, ਡਿਵੈਲਪਰ ਕਲਾਉਡਫਲੇਅਰ ਦੇ ਡੈਸ਼ਬੋਰਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹਨ। ਸਟੇਜਿੰਗ ਅਤੇ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣਾਂ ਨੂੰ ਸੁਚਾਰੂ ਅਤੇ ਗਲਤੀ-ਮੁਕਤ ਚਲਾਉਣ ਲਈ, ਇਹ ਕਦਮ ਜ਼ਰੂਰੀ ਹੈ।

  1. Cloudflare ਵਰਕਰ ਨੂੰ ਤਾਇਨਾਤ ਕਰਨ ਤੋਂ ਬਾਅਦ 404 ਗਲਤੀ ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
  2. ਰੂਟਿੰਗ ਨਿਯਮ ਕੌਂਫਿਗਰ ਨਹੀਂ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ ਜਾਂ ਗਲਤ ਤਰੀਕੇ ਨਾਲ ਜੁੜੇ ਹੋਏ ਹਨ ਡੋਮੇਨ ਲਈ ਇਸ ਦੇ ਆਮ ਕਾਰਨ ਹਨ।
  3. ਕੀ pages.dev ਨੂੰ ਕੰਮ ਕਰਨ ਲਈ ਸਰਵਰ ਦੀ ਲੋੜ ਹੈ?
  4. ਨਹੀਂ, ਸਰਵਰ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਹਾਲਾਂਕਿ ਸਥਿਰ ਸਾਈਟਾਂ ਦੀ ਤੈਨਾਤੀ ਕਲਾਉਡਫਲੇਅਰ ਦੁਆਰਾ ਆਪਣੇ ਆਪ ਹੀ ਸੰਭਾਲੀ ਜਾਂਦੀ ਹੈ , ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਵਰਕਰ ਸਹੀ ਢੰਗ ਨਾਲ ਲਿੰਕ ਕੀਤਾ ਗਿਆ ਹੈ।
  5. ਮੈਂ ਸਟੇਜਿੰਗ ਡੋਮੇਨ ਦੀ 404 ਗਲਤੀ ਨੂੰ ਕਿਵੇਂ ਹੱਲ ਕਰ ਸਕਦਾ ਹਾਂ?
  6. ਬਣਾਓ ਕਿ ਵਰਕਰ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਲੋੜੀਂਦੇ ਰੂਟ ਕੌਂਫਿਗਰ ਕੀਤੇ ਗਏ ਹਨ ਅਤੇ ਉਹ ਡੋਮੇਨ ਨਾਲ ਸਬੰਧਿਤ ਹੈ।
  7. ਕੀ ਉਤਪਾਦਨ ਅਤੇ ਸਟੇਜਿੰਗ ਲਈ ਇੱਕੋ ਸਮੇਂ ਇੱਕ GitHub ਰਿਪੋਜ਼ਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸੰਭਵ ਹੈ?
  8. ਹਾਂ, ਪਰ ਵਿਵਾਦਾਂ ਨੂੰ ਰੋਕਣ ਲਈ, ਤੁਹਾਨੂੰ ਵੱਖਰੀਆਂ ਸ਼ਾਖਾਵਾਂ ਅਤੇ ਸੈੱਟਅੱਪ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੋਵੇਗੀ ਹਰੇਕ ਵਾਤਾਵਰਣ ਲਈ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ.
  9. ਕੀ ਵਰਕਰ ਸਟੇਜਿੰਗ ਅਤੇ ਉਤਪਾਦਨ ਨੂੰ ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਪਹੁੰਚਦੇ ਹਨ?
  10. ਨਹੀਂ, ਪਰ ਤੈਨਾਤੀ ਨਾਲ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਰੋਕਣ ਲਈ, ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਹਰ ਇਸ ਦੇ ਵਰਕਰ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ।

ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੇ ਸਹੀ ਸੰਚਾਲਨ ਦੀ ਗਾਰੰਟੀ ਦੇਣ ਲਈ ਡੋਮੇਨ ਨਾਲ ਉਚਿਤ ਅਟੈਚਮੈਂਟ ਅਤੇ ਸਾਵਧਾਨ ਰਾਊਟਿੰਗ ਨਿਯਮ ਸੈਟਿੰਗ ਜ਼ਰੂਰੀ ਹਨ। 404 ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਣ ਲਈ, ਇਹ ਕਾਰਵਾਈਆਂ ਉਤਪਾਦਨ ਅਤੇ ਸਟੇਜਿੰਗ ਸੈਟਿੰਗਾਂ ਦੋਵਾਂ ਲਈ ਜ਼ਰੂਰੀ ਹਨ।

ਸਫਲ ਸਟੇਜਿੰਗ ਦੀ ਗਾਰੰਟੀ ਦੇਣ ਲਈ, ਹਮੇਸ਼ਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਵਰਕਰ ਢੁਕਵੇਂ ਵਾਤਾਵਰਣ ਨਾਲ ਸਹੀ ਢੰਗ ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ ਅਤੇ ਆਪਣੀਆਂ ਤੈਨਾਤੀ ਸੈਟਿੰਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ। ਇਹਨਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਨ ਨਾਲ, ਡਾਊਨਟਾਈਮ ਨੂੰ ਘਟਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਇੱਕ ਸਹਿਜ ਰੋਲਆਊਟ ਨੂੰ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾਵੇਗਾ।

  1. ਸਰਵਰ ਰਹਿਤ ਐਪਲੀਕੇਸ਼ਨ ਤੈਨਾਤੀ ਲਈ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਦੀ ਵਰਤੋਂ ਅਤੇ 404 ਤਰੁੱਟੀਆਂ ਲਈ ਆਮ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਕਦਮਾਂ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ। ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਜ਼ ਦਸਤਾਵੇਜ਼ .
  2. ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਨ ਅਤੇ ਕਲਾਉਡਫਲੇਅਰ ਪੰਨਿਆਂ ਦੁਆਰਾ ਤੈਨਾਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਹੈ ਬਾਰੇ ਸਮਝ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। 'ਤੇ ਉਪਲਬਧ ਹੋਰ ਵੇਰਵੇ Cloudflare ਪੰਨਿਆਂ ਦੀ ਸੰਖੇਪ ਜਾਣਕਾਰੀ .
  3. GitHub ਰਿਪੋਜ਼ਟਰੀਆਂ ਨੂੰ ਕਲਾਉਡਫਲੇਅਰ ਵਰਕਰਾਂ ਨਾਲ ਜੋੜਨ ਅਤੇ ਗਤੀਸ਼ੀਲ ਰੂਟਿੰਗ 'ਤੇ ਪ੍ਰਭਾਵ ਬਾਰੇ ਚਰਚਾ ਕਰਦਾ ਹੈ। ਤੋਂ ਹਵਾਲਾ ਲਿਆ ਗਿਆ ਹੈ GitHub - Cloudflare Repos .