Tartışma

Puppeteer ile Webhook Altyapısı Geliştirme: CORS Hatası ve PM ile Sürekli Çalıştırma

Başlatan RootVision · 26 Ağu 2026 02:26 · 1 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
Puppeteer, Node.js tabanlı bir kütüphane olarak, web tarayıcılarını programatik olarak kontrol etme yeteneği sunar. Webhook altyapısı geliştirmek için Puppeteer kullanmak, belirli durumlarda oldukça faydalı olabilir. Ancak, web uygulamalarıyla etkileşimde bulunurken CORS (Cross-Origin Resource Sharing) hatalarıyla karşılaşmak sık rastlanan bir durumdur. Bu yazıda, CORS hatalarının nasıl aşılacağına ve PM (Process Manager) kullanarak uygulamanın sürekli çalıştırılmasına dair bazı teknik bilgiler sunacağım.

CORS, bir web sayfasının başka bir alan adı veya port üzerindeki kaynaklara erişim isteğinde bulunmasını kontrol eden bir güvenlik mekanizmasıdır. Eğer bir istemci, CORS politikalarına uymayan bir istekte bulunursa, tarayıcı bu isteği engeller. Puppeteer ile çalışırken, özellikle API'lerle etkileşimde bulunmak istediğinizde bu durumla sıkça karşılaşabilirsiniz. CORS hatalarını aşmanın bazı yolları şunlardır:

  • Proxy Kullanma: CORS hatalarını aşmanın bir yolu, bir proxy sunucusu kullanmaktır. Bu, isteklerinizi kendi sunucunuz üzerinden yönlendirerek, CORS kısıtlamalarından kaçınmanıza olanak tanır. Örneğin, CORS Anywhere servisini kullanabilirsiniz.
  • CORS Politikalarını Ayarlama: Eğer kontrolünüz altındaki bir API ile çalışıyorsanız, sunucu tarafında CORS ayarlarını düzenleyerek belirli alan adlarına izin verebilirsiniz. Örneğin, Express.js kullanıyorsanız, aşağıdaki gibi bir middleware ekleyebilirsiniz:
    CODE
    123456
        app.use((req, res, next) => {
            res.header("Access-Control-Allow-Origin", "*");
            res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
            next();
        });
        

  • Tarayıcı Eklentileri: Geliştirme aşamasında, tarayıcı üzerinde CORS'u devre dışı bırakmaya yarayan eklentileri kullanabilirsiniz. Ancak, bu çözüm yalnızca geliştirme sürecinde geçerlidir ve üretim ortamında uygulanmamalıdır.

PM (Process Manager) kullanarak uygulamanızı sürekli çalıştırmak, Puppeteer ile oluşturduğunuz webhook altyapısının sürekliliğini sağlamak açısından önemlidir. PM2 gibi bir araç, uygulamanızın çökmesi durumunda otomatik olarak yeniden başlatılmasını sağlar. PM2 ile bir uygulamayı başlatmak oldukça basittir:

CODE
12
pm2 start app.js --name "webhook-app"


Bu komut, app.js dosyasını webhook-app adıyla başlatır. PM2 ayrıca, uygulamanızın durumunu izlemek, günlüklerini görüntülemek ve performansını analiz etmek için çeşitli komutlar sunar.

Sonuç olarak, Puppeteer ile geliştirdiğiniz webhook altyapısında CORS hatalarını aşmak ve uygulamanızı sürekli çalıştırmak için yukarıda belirtilen yöntemleri kullanabilirsiniz. Bu süreçte karşılaştığınız zorluklar ve çözümler hakkında daha fazla bilgi paylaşımında bulunmak, topluluğun faydasına olacaktır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi