لدي وظيفة السحابة
const app = express()
app.get('/ping', (req, res) => {
res.send('pong');
})
exports.api = functions.https.onRequest(app)
وهو يعمل بشكل جيد
https: //...cloudfunctions.net/api/ping
بونغ
ثم أقوم بإضافة التكوين التالي
{
"hosting": {
"public": "public",
"rewrites": [ {
"source": "/api/**", "function": "api"
} ]
}
}
وحاول الاتصال به من عنوان url للتطبيق وفشل.
https: //...firebaseapp.com/api/ping
404
إذا استخدمت إعادة كتابة جميع المكالمات لوظائفي مثل هذا
{
"hosting": {
"public": "public",
"rewrites": [ {
"source": "**", "function": "api"
} ]
}
}
ثم يعمل
https: //...firebaseapp.com/ping
بونغ
هل أفتقد شيئًا هنا أم أن هذا السيناريو غير مدعوم؟
هناك مدونة تكتب عن هذا ، والتي تستخدم وتقسيم في إعادة الكتابة:
https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html
تحتاج إلى إضافة / api إلى بداية مسارك السريع. البادئات ليست كذلك
تم قطعه عند إرسال عناوين URL إلى وظيفة السحابة.
في الأحد ، 9 يوليو 2017 ، الساعة 11:27 مساءً ، كتب roosi [email protected] :
لدي وظيفة السحابة
تطبيق const = express ()
app.get ('/ ping'، (req، res) => {
res.send ("بونج") ؛
})export.api = function.https.onRequest (التطبيق)
وهو يعمل بشكل جيد
https: //...cloudfunctions.net/api/ping
بونغثم أقوم بإضافة التكوين التالي
{
"الاستضافة": {
"عام": "عام" ،
"تعيد كتابة": [{
"المصدر": "/ api / **" ، "الوظيفة": "api"
}]
}
}وحاول الاتصال به من عنوان url للتطبيق وفشل.
https: //...firebaseapp.com/api/ping
404إذا استخدمت إعادة كتابة جميع المكالمات لوظائفي مثل هذا
{
"الاستضافة": {
"عام": "عام" ،
"تعيد كتابة": [{
"المصدر": "**"، "الوظيفة": "api"
}]
}
}ثم يعمل
https: //...firebaseapp.com/ping
بونغهل أفتقد شيئًا هنا أم أن هذا السيناريو غير مدعوم؟
هناك مدونة تكتب عن هذا ، والتي تستخدم وتقسيم في إعادة الكتابة:
https://firebase.googleblog.com/2017/06/serving-dynamic-content-with-cloud.html
http: // url-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/firebase/firebase-tools/issues/392 ، أو كتم صوت
مسلك
https://github.com/notifications/unsubscribe-auth/AAAD_updmJ5mvK9NFrx5v-a0lQckEhaHks5sMcRogaJpZM4OSaDu
.
roosi لقد واجهت أيضًا هذه المشكلة الأسبوع الماضي. إنه أمر مزعج ولكن أفضل حل يمكنني التوصل إليه لسيناريو مثل هذا هو إنشاء وظيفة main
تستضيف جميع الوظائف الأخرى وتعيد كتابة جميع مكالمات الاستضافة إليها. يمكّنك هذا من استدعاء https://...firebaseapp.com/api/ping
، على سبيل المثال.
انظر إجابتي هنا لمزيد من التفاصيل:
https://stackoverflow.com/a/45224176/1309346
أعتقد أن المثال الموجود في https://github.com/firebase/functions-samples/blob/master/authorized-https-endpoint معطل أيضًا؟
التعليق الأكثر فائدة
تحتاج إلى إضافة / api إلى بداية مسارك السريع. البادئات ليست كذلك
تم قطعه عند إرسال عناوين URL إلى وظيفة السحابة.
في الأحد ، 9 يوليو 2017 ، الساعة 11:27 مساءً ، كتب roosi [email protected] :