在Google App Engine上禁用Node JS的默认域https:// .appspot.com
我已经将我的Node JS应用程序部署到Google Cloud App Engine上,并且可以成功地为我的应用程序添加自定义域。
假设我的自定义域是example.com 。
现在我可以通过example.com和www.example.com浏览我的应用程序,它按预期工作。 但是我发现我仍然可以通过默认域浏览我的应用程序。 https://开头[项目-ID] .appspot.com访问
我想要禁用默认域,是否有可能做到这一点?
您不能禁用该默认域。 你将不得不写一个redirect脚本。 您可以在请求的HTTP_HOST
testing“appspot”,并在请求的HTTP_USER_AGENT
testing“AppEngine-Google”,以确定它是否是内部请求。
此外,内部函数(如cron作业和任务队列)在该域上运行,因此请小心操作。 任务队列将失败给301。
在考虑GAEfan的build议后,我对路由器的逻辑做了一些改变。 如果主机名以“appspot.com”结尾,用户代理包含“AppEngine-Google”,则会redirect到我的自定义域。
router.get('/', function(req, res, next) { if(req.get("host").endsWith(GOOGLE_APP_SPOT) && req.get("User-Agent").includes(GOOGLE_USER_AGENT)) { var redirectURL = url.format({ protocol: req.protocol, host: CUSTOM_DOMAIN, pathname: req.originalUrl }); res.redirect(redirectURL); } res.render('templateName', viewModel); });
您只需使用App Engine中的dispatch.yaml
文件即可完成此操作,并列出您所有的域名,而不是*.appspot.com
域名。 当您尝试访问Google时,Google将显示404路线。
检出官方参考 。
- 我可以浏览node.js项目的本地Google Datastore模拟器数据吗?
- 如何使用Google Cloud Vision API检测暴力或裸露?
- 使用Google Compute Engine加载nodejs上的testing瓶颈
- Google App Engine运行状况检查垃圾邮件应用程序
- 如何将所有请求redirect到特定的域名?
- 使用适用于Firebase的Cloud Functions和@ google-cloud / storage删除图片时出现问题
- 在Google Cloud App Engine中安装开发依赖关系
- BigQuery Node.js api创build外部表
- Google云端函数:无法validation请求