{"id":1761,"date":"2013-05-06T11:14:05","date_gmt":"2013-05-06T17:14:05","guid":{"rendered":"http:\/\/50.6.175.134\/~ricvilla\/?p=1761"},"modified":"2024-09-30T13:27:24","modified_gmt":"2024-09-30T13:27:24","slug":"windows-azure-insider-may-2013-geo-protection-for-video-blobs-using-a-node-js-media-proxy-and-mongodb","status":"publish","type":"post","link":"https:\/\/www.ricardovillalobos.com\/?p=1761","title":{"rendered":"Windows Azure Insider May 2013 &#8211; Geo-Protection for Video Blobs Using a Node.js Media Proxy and MongoDB"},"content":{"rendered":"<p><a href=\"http:\/\/msdn.microsoft.com\/en-us\/magazine\/dn198240.aspx\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.ricardovillalobos.com\/wp-content\/uploads\/2013\/05\/dn198231_cover_lrgen-usMSDN_10.jpg\" alt=\"dn198231_cover_lrg(en-us,MSDN_10)\" width=\"179\" height=\"239\" class=\"alignleft size-full wp-image-1762\" \/><\/a>For the May 2013 edition of the MSDN magazine Windows Azure Insider column, <a href=\"http:\/\/blogs.msdn.com\/b\/brunoterkaly\/\">Bruno<\/a> and I cover a common scenario that developers and companies face when trying to distribute video files around the world: protecting content from being accessed in specific countries. The solution is based on a Node.js server running on Windows Azure Web Sites, which can be scaled as more traffic is detected. The information that correlates originating IP addresses and world countries is stored in MongoDB, and hosted by <a href=\"http:\/\/www.mongolab.com\">MongoLab<\/a> as-a-Service. Finally, Windows Azure Storage tables are used to save restrictions and logs. This is a good example of combining multiple frameworks to achieve highly-scalable solutions in the cloud that solve day-to-day problems.<\/p>\n<p>The full article can be found <a href=\"http:\/\/msdn.microsoft.com\/en-us\/magazine\/dn198240.aspx\">here<\/a>. <\/p>\n<p>Your comments and feedback are appreciated. Enjoy!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For the May 2013 edition of the MSDN magazine Windows Azure Insider column, Bruno and I cover a common scenario that developers and companies face when trying to distribute video files around the world: protecting content from being accessed in specific countries. The solution is based on a Node.js server running on Windows Azure Web&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[3,144],"tags":[],"class_list":["post-1761","post","type-post","status-publish","format-standard","hentry","category-allposts","category-msdn-magazine"],"_links":{"self":[{"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/posts\/1761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1761"}],"version-history":[{"count":10,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/posts\/1761\/revisions"}],"predecessor-version":[{"id":1970,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=\/wp\/v2\/posts\/1761\/revisions\/1970"}],"wp:attachment":[{"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ricardovillalobos.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}