Firebase-tools: وظيفة السحابة: /<segment>/ ** إعادة الكتابة لا تعمل</segment>

تم إنشاؤها على ١٠ يوليو ٢٠١٧  ·  3تعليقات  ·  مصدر: firebase/firebase-tools

لدي وظيفة السحابة

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
.

ال 3 كومينتر

تحتاج إلى إضافة / 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 معطل أيضًا؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات