diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
index a4eb737e4ff52bd9cc1bdf00db56ccc2ad278cd1..cc4f3e6ee5316c05b2ee7fcaccb0e5eed7c18ac5 100644
--- a/.settings/org.eclipse.core.resources.prefs
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -1,3 +1,5 @@
 eclipse.preferences.version=1
 encoding//common/util.py=utf-8
 encoding//forecasts/models.py=utf-8
+encoding//information/migrations/0001_initial.py=utf-8
+encoding//vips_messages/migrations/0004_auto_20160712_1001.py=utf-8
diff --git a/VIPSWeb/local_settings_sample.py b/VIPSWeb/local_settings_sample.py
index c6fc631a74c5dfe11be6c956c3c7af2887c7e294..9d3cd2f24c4f5d32e169c24feb1f34a9a624906e 100644
--- a/VIPSWeb/local_settings_sample.py
+++ b/VIPSWeb/local_settings_sample.py
@@ -111,6 +111,8 @@ GOOGLE_ANALYTICS_SCRIPT = """
 
 # The server name used for VIPSLogic
 VIPSLOGIC_SERVER_NAME = "vipslogic"
+# VIPSLogic protocol
+VIPSLOGIC_PROTOCOL = "https"
 # This organization's ID in VIPSLogic/CoreManager
 VIPS_ORGANIZATION_ID = 1
 # The server name used for VIPSCoreManager
diff --git a/VIPSWeb/static/js/forecastmap.js b/VIPSWeb/static/js/forecastmap.js
index 0b4dd9a029868448604471e1d84b26c599ba044a..c3b420d88fa1e647bdfe7efd7b5d0f67ef142229 100644
--- a/VIPSWeb/static/js/forecastmap.js
+++ b/VIPSWeb/static/js/forecastmap.js
@@ -67,7 +67,7 @@ function initForecastMap(lonLat, zoomLevel, mapAttribution)
 	
 	forecastLayer = new ol.layer.Vector({
 		source: new ol.source.Vector({
-			//url: "http://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + buildPathParamString("cropCategoryId", getSelectedCropCategoryIds()),
+			//url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + buildPathParamString("cropCategoryId", getSelectedCropCategoryIds()),
 			url: "/vipslogicproxy/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + buildPathParamString("cropCategoryId", getSelectedCropCategoryIds()),
 			format: new ol.format.KML({"extractAttributes":true}),
 			projection: ol.proj.get('EPSG:3857')
@@ -210,7 +210,7 @@ function initForecastMap(lonLat, zoomLevel, mapAttribution)
 	    	  // Fetching information asynchronously from server 
 	    	  var request = $.ajax({
                     type:"GET",
-                    url: "http://" + settings.vipslogicServerName + "/rest/forecastresults/latest/poi/" + feature.getId(),
+                    url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/latest/poi/" + feature.getId(),
                     statusCode:{
                         200: function(data,textStatus, jqXHR){
                         	// Building result HTML
@@ -343,13 +343,13 @@ function updateForecastLayers()
 	}
 	/*forecastLayer = new ol.layer.Vector({
 		source: new ol.source.KML({
-		    url: "http://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropOrganismIdStr,
+		    url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropOrganismIdStr,
 			projection: "EPSG:3857"
 		  })
 		});*/
 	forecastLayer = new ol.layer.Vector({
 		source: new ol.source.Vector({
-			//url: "http://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr,
+			//url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr,
 			url: "/vipslogicproxy/rest/forecastresults/aggregate/" + settings.vipsOrganizationId + "?" + cropCategoryIdStr,
 			format: new ol.format.KML(),
 			projection: ol.proj.get('EPSG:3857')
diff --git a/VIPSWeb/static/js/frontpage.js b/VIPSWeb/static/js/frontpage.js
index 280924f0af1ba71702fea20a9c61dc28deb5929e..260bda47a9a3dee0c1c93a93ce13bc1f39f3e1e8 100644
--- a/VIPSWeb/static/js/frontpage.js
+++ b/VIPSWeb/static/js/frontpage.js
@@ -65,7 +65,7 @@ var filteredObservations;
 
 function cacheObservations()
 {
-	//$.getJSON("http://" + settings.vipslogicServerName + "/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) {
+	//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) {
 	$.getJSON("/vipslogicproxy/rest/observation/broadcast/list/" + settings.vipsOrganizationId, function( json ) {
 		allObservations = json;
 		//console.log(allObservations);
@@ -511,7 +511,7 @@ var cachedPois;
  */
 function cacheForecastSummaries()
 {
-	//$.getJSON( "http://" + settings.vipslogicServerName + "/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId, function( json ) {
+	//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId, function( json ) {
 	$.getJSON( "/vipslogicproxy/rest/forecastconfigurationsummaries/" + settings.vipsOrganizationId, function( json ) {
 		  cachedForecastSummaries = json;
 		  cachePrivateForecastSummaries();
@@ -527,7 +527,7 @@ function cachePrivateForecastSummaries()
 {
 	if(settings.userUuid != null)
     {
-		//$.getJSON( "http://" + settings.vipslogicServerName + "/rest/forecastconfigurationsummaries/private/" + settings.userUuid , function( json ) {
+		//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/forecastconfigurationsummaries/private/" + settings.userUuid , function( json ) {
 		$.getJSON( "/vipslogicproxy/rest/forecastconfigurationsummaries/private/" + settings.userUuid)
 		.done(function( json ) {
 			 cachedPrivateForecastSummaries = json;
@@ -547,7 +547,7 @@ function cachePrivateForecastSummaries()
  */
 function cachePois()
 {
-	//$.getJSON( "http://" + settings.vipslogicServerName + "/rest/poi/organization/" + settings.vipsOrganizationId, function( json ) {
+	//$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/organization/" + settings.vipsOrganizationId, function( json ) {
 	$.getJSON( "/vipslogicproxy/rest/poi/organization/" + settings.vipsOrganizationId, function( json ) {
 		  cachedPois = json;
 		  });
diff --git a/VIPSWeb/static/js/weatherStationSelectorMap.js b/VIPSWeb/static/js/weatherStationSelectorMap.js
index 0eca297c7417d74ab93c81c4d31d15800ceb23e9..b2b9d86b610a955910b449d5aebc2ca6b3257b6e 100644
--- a/VIPSWeb/static/js/weatherStationSelectorMap.js
+++ b/VIPSWeb/static/js/weatherStationSelectorMap.js
@@ -52,7 +52,7 @@ function initMap(center, zoomLevel, attribution, organizationId, weatherStationF
     // The weather station layer
     var weatherStationLayer = new ol.layer.Vector({
     source: new ol.source.Vector({
-        url: "http://" + settings.vipslogicServerName +"/rest/weatherstations/kml/" + organizationId,
+        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName +"/rest/weatherstations/kml/" + organizationId,
         format: new ol.format.KML(),
         projection: ol.proj.get("EPSG:3857")
       })
diff --git a/VIPSWeb/templates/base.html b/VIPSWeb/templates/base.html
index 81fe18ec3378047acd216b6e460233a6d7ff9eed..7f85890820a30bec2f7008211286e4e27a5c860f 100644
--- a/VIPSWeb/templates/base.html
+++ b/VIPSWeb/templates/base.html
@@ -90,13 +90,13 @@
 				
 				<div id="signInAndOut">
 			  	{% if request.session.vips_logic_user != None %}
-			  		<a href="http://{{settings.VIPSLOGIC_SERVER_NAME}}" target="new" class="signinLink" title="{% trans "Administration" %}"><span class="fa fa-cogs"></span></a>
-					<a href="http://{{settings.VIPSLOGIC_SERVER_NAME}}/user?action=viewUser&userId={{request.session.vips_logic_user.userId}}" target="new">{{ request.session.vips_logic_user.firstName}} {{ request.session.vips_logic_user.lastName}}</a>
+			  		<a href="{{settings.VIPSLOGIC_PROTOCOL}}://{{settings.VIPSLOGIC_SERVER_NAME}}" target="new" class="signinLink" title="{% trans "Administration" %}"><span class="fa fa-cogs"></span></a>
+					<a href="{{settings.VIPSLOGIC_PROTOCOL}}://{{settings.VIPSLOGIC_SERVER_NAME}}/user?action=viewUser&userId={{request.session.vips_logic_user.userId}}" target="new">{{ request.session.vips_logic_user.firstName}} {{ request.session.vips_logic_user.lastName}}</a>
 					<a href="/security/logout" class="signinLink" title="{% trans "Sign out" %}">
 					<span class="fa fa-sign-out"></span>
 					</a>
 				{% else %}
-						<a href="http://{{settings.VIPSLOGIC_SERVER_NAME}}/login?nextPage={{"http://" | urlencode}}{{request.get_host|urlencode}}&returnUUID=true" class="signinLink">{% trans "Sign in" %}</a>
+						<a href="{{settings.VIPSLOGIC_PROTOCOL}}://{{settings.VIPSLOGIC_SERVER_NAME}}/login?nextPage={{"http://" | urlencode}}{{request.get_host|urlencode}}&returnUUID=true" class="signinLink">{% trans "Sign in" %}</a>
 				{% endif %}
 				</div>
 			  </div>
diff --git a/VIPSWeb/templates/settings.js b/VIPSWeb/templates/settings.js
index 93b7265b9489c4705dc79f79aa2e17115a66278c..f08fea6179fe69bea0b4bb1ce42ea0f6830e57a2 100644
--- a/VIPSWeb/templates/settings.js
+++ b/VIPSWeb/templates/settings.js
@@ -11,6 +11,7 @@ var settings = {
 		
 		vipsOrganizationId: {{settings.VIPS_ORGANIZATION_ID}},
 		vipslogicServerName: "{{settings.VIPSLOGIC_SERVER_NAME}}",
+		vipslogicProtocol: "{{settings.VIPSLOGIC_PROTOCOL}}",
 		vipsCoremanagerServerName : "{{settings.VIPSCOREMANAGER_SERVER_NAME}}",
 		
 		mapZoomlevel: {{settings.MAP_ZOOMLEVEL}},
diff --git a/VIPSWeb/views.py b/VIPSWeb/views.py
index c003a9289709e065a20d789a002dc79b9b1559d4..a15d0e8f1ffe86565804a3111a0b8b6bfa6cf508 100644
--- a/VIPSWeb/views.py
+++ b/VIPSWeb/views.py
@@ -86,7 +86,7 @@ def vipslogicproxy(request, path):
     params = request.urlencode()
     #print params
     try:
-        url = "http://%s/%s" % (settings.VIPSLOGIC_SERVER_NAME,path)
+        url = "%s://%s/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,path)
         print url
     except KeyError:
         return HttpResponseBadRequest("URL must be defined")
diff --git a/applefruitmoth/static/applefruitmoth/js/map.js b/applefruitmoth/static/applefruitmoth/js/map.js
index 705d893c67743e2dbe7350e73bd1716cc6b8e6ce..4ee73a1d01a7dfe835e695607c2fee8ff12b7929 100644
--- a/applefruitmoth/static/applefruitmoth/js/map.js
+++ b/applefruitmoth/static/applefruitmoth/js/map.js
@@ -32,7 +32,7 @@ var initMap = function(container, mapAttribution)
 	
 	forecastLayer = new ol.layer.Vector({
 		source: new ol.source.Vector({
-			url: "http://" + settings.vipslogicServerName + "/rest/applefruitmoth/observationsites/kml/",
+			url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/applefruitmoth/observationsites/kml/",
 			format: new ol.format.KML({"extractAttributes":true}),
 			projection: ol.proj.get('EPSG:3857')
 		})
@@ -102,5 +102,5 @@ var initMap = function(container, mapAttribution)
 
 function generatePopupContents(warningStatus, description)
 {
-	return "<img src='http://" + settings.vipslogicServerName + "/public/images/station_icon_status_" + warningStatus + ".png'/> " + description;
+	return "<img src='" + settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/public/images/station_icon_status_" + warningStatus + ".png'/> " + description;
 }
\ No newline at end of file
diff --git a/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html b/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html
index e6e4820c437f7fb61b9a77c7ba772f19cca258d6..8f5ee089d7062bd96809d11c426bf67f934479b8 100644
--- a/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html
+++ b/cerealblotchmodels/templates/cerealblotchmodels/barleynetblotchform.html
@@ -177,7 +177,7 @@
 		var formStr = $("#{{ form_id }}").serialize();
 		var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/runmodel/" + VIPSOrganizationId + "?" + formStr,
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/runmodel/" + VIPSOrganizationId + "?" + formStr,
 	        statusCode:{
 	            200: renderResults,
 	            400: handleAjaxError,
@@ -272,7 +272,7 @@
 		// Fetching information asynchronously from server 
 	    var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/poi/organization/" + VIPSOrganizationId,
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/organization/" + VIPSOrganizationId,
 	        statusCode:{
 	            200: function(data,textStatus, jqXHR){
 	            	// Building result HTML
@@ -298,7 +298,7 @@
      	// Fetching information asynchronously from server 
 	    var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/barleyvarieties/" + VIPSOrganizationId,
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/barleyvarieties/" + VIPSOrganizationId,
 	        statusCode:{
 	            200: function(data,textStatus, jqXHR){
 	            	// Building result HTML
@@ -326,7 +326,7 @@
     	// Fetching information asynchronously from server 
 	    var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/preparations/" + VIPSOrganizationId,
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/barleynetblotchmodel/preparations/" + VIPSOrganizationId,
 	        statusCode:{
 	            200: function(data,textStatus, jqXHR){
 	            	// Building result HTML
diff --git a/observations/static/observations/js/observationViewMap.js b/observations/static/observations/js/observationViewMap.js
index 3de0fd0557fa8a4752c79cf4fd3249b936da86bd..f1092b2b3e0c1424f08f64d9d9a9b9e18f144a78 100644
--- a/observations/static/observations/js/observationViewMap.js
+++ b/observations/static/observations/js/observationViewMap.js
@@ -78,11 +78,12 @@ var initMap = function(geoJSON, poi, container, mapAttribution)
 	
 	
 		var format = new ol.format.GeoJSON();
-	    var drawnfeatures = format.readFeatures(geoJSON, {
+		console.log(JSON.parse(geoJSON));
+	    var drawnfeatures = format.readFeatures(JSON.parse(geoJSON), {
 	      dataProjection: 'EPSG:4326',
 	      featureProjection: map.getView().getProjection().getCode()
 	    });
-	
+	    console.log(drawnfeatures);
     
 	    // TODO: Convert small areas to points on large scale views
 	    /**
@@ -109,7 +110,7 @@ var initMap = function(geoJSON, poi, container, mapAttribution)
 	{
 		/*var poiLayer = new ol.layer.Vector({
 		    source: new ol.source.Vector({
-		        url: "http://" + settings.vipslogicServerName + "/rest/pois/kml/" + settings.vipsOrganizationId + "?excludePoiId=" + poi.pointOfInterestId,
+		        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/pois/kml/" + settings.vipsOrganizationId + "?excludePoiId=" + poi.pointOfInterestId,
 		            projection: "EPSG:3857",
 		            format: new ol.format.KML()
 		      })
diff --git a/observations/templates/observations/detail.html b/observations/templates/observations/detail.html
index d8937732b8850b59c185244c3e43d009ae2e47fe..41e4fda18e81511a9125581122a7fb3308599c55 100644
--- a/observations/templates/observations/detail.html
+++ b/observations/templates/observations/detail.html
@@ -89,11 +89,11 @@
 		  	if(observation.observationIllustrationSet.length ==1)
 		  	{
 		  		var illustration = observation.observationIllustrationSet[0]; 
-		  		document.getElementById("observationIllustration").innerHTML = "<img src='http://" + settings.vipslogicServerName + "/static/images/observations/" + observation.organismId + "/" + illustration.observationIllustrationPK.fileName + "' class='img-responsive'/>";
+		  		document.getElementById("observationIllustration").innerHTML = "<img src='" + settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/static/images/observations/" + observation.organismId + "/" + illustration.observationIllustrationPK.fileName + "' class='img-responsive'/>";
 		  	}
 		  	if(observation.locationPointOfInterestId > 0)
 		  	{
-		  		$.getJSON( "http://" + settings.vipslogicServerName + "/rest/poi/" + observation.locationPointOfInterestId , function( poi ) {
+		  		$.getJSON(settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/" + observation.locationPointOfInterestId , function( poi ) {
 		  			initMap(null,poi,"observationViewMap","{{settings.MAP_ATTRIBUTION|safe}}")
 		  		});
 		  	}
diff --git a/organisms/models.py b/organisms/models.py
index 9f47030a25c3a1810e90707a714d4ed599282f16..9486a9931a4360c4d48e6f5a4b5af606eef3117b 100644
--- a/organisms/models.py
+++ b/organisms/models.py
@@ -39,7 +39,7 @@ class CropCategory:
     
     @staticmethod
     def get_crop_categories_from_vipslogic():
-        request_result = requests.get("http://%s/rest/organism/cropcategory/%s" % (settings.VIPSLOGIC_SERVER_NAME, settings.VIPS_ORGANIZATION_ID))
+        request_result = requests.get("%s://%s/rest/organism/cropcategory/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME, settings.VIPS_ORGANIZATION_ID))
         return request_result
     
     @staticmethod
@@ -109,5 +109,5 @@ class Organism:
     
     @staticmethod
     def get_all_crops_from_vipslogic():
-        request_result = requests.get("http://%s/rest/organism/crop/list" % (settings.VIPSLOGIC_SERVER_NAME))
+        request_result = requests.get("%s://%s/rest/organism/crop/list" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME))
         return request_result.json()
diff --git a/roughage/static/roughage/js/nutrition.js b/roughage/static/roughage/js/nutrition.js
index 1d9ed91edc5783d13b61387ce8f384c58a77af0c..607d4d03843bc67b96bceeccd775e900314ec166 100644
--- a/roughage/static/roughage/js/nutrition.js
+++ b/roughage/static/roughage/js/nutrition.js
@@ -103,7 +103,7 @@ function runNutritionModel(formId)
 	var formStr = $("#" + formId).serialize() + wateringParams;
 	var request = $.ajax({
         type:"GET",
-        url: "http://" + settings.vipslogicServerName + "/rest/roughage/nutrition/runmodel/" + settings.vipsOrganizationId + "?" + formStr,
+        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/roughage/nutrition/runmodel/" + settings.vipsOrganizationId + "?" + formStr,
         statusCode:{
             200: renderNutritionModelResults,
             400: handleAjaxError,
@@ -205,7 +205,7 @@ function initWeatherStations()
 		// Fetching information asynchronously from server 
 	    var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/poi/organization/" + settings.vipsOrganizationId,
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/poi/organization/" + settings.vipsOrganizationId,
 	        statusCode:{
 	            200: function(data,textStatus, jqXHR){
 	            	// Building result HTML
@@ -234,7 +234,7 @@ function initNormalDataWeatherStations()
 		// Fetching information asynchronously from server 
 	    var request = $.ajax({
 	        type:"GET",
-	        url: "http://" + settings.vipslogicServerName + "/rest/roughage/normaldataweatherstations/",
+	        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/roughage/normaldataweatherstations/",
 	        statusCode:{
 	            200: function(data,textStatus, jqXHR){
 	            	// Building result HTML
@@ -446,7 +446,7 @@ function runGrassDryingModelForHarvest(nutritionModelResults, seasonHarvestNumbe
 	
 	var request = $.ajax({
         type:"GET",
-        url: "http://" + settings.vipslogicServerName + "/rest/roughage/grassdrying/runmodel/" + settings.vipsOrganizationId + "?" + formStr,
+        url: settings.vipslogicProtocol + "://" + settings.vipslogicServerName + "/rest/roughage/grassdrying/runmodel/" + settings.vipsOrganizationId + "?" + formStr,
         statusCode:{
             200: (seasonHarvestNumber == 1 ? renderGrassDryingModelResultsFirstHarvest : renderGrassDryingModelResultsSecondHarvest),
             400: handleAjaxError,
diff --git a/security/models.py b/security/models.py
index ad58a49db3485b793d7eb8ed3f28e517cbb9c4ea..e3d365a130663af8cc853142088478af7d1167c6 100644
--- a/security/models.py
+++ b/security/models.py
@@ -51,7 +51,7 @@ class VipsLogicUser:
     
     @staticmethod
     def find_by_uuid(user_uuid):
-        request_result = requests.get("http://%s/rest/user/uuid/%s" % (settings.VIPSLOGIC_SERVER_NAME,user_uuid))
+        request_result = requests.get("%s://%s/rest/user/uuid/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,user_uuid))
         if request_result.status_code == 200:
             #return VipsLogicUser.get_instance_from_dict(request_result.json())
             #print request_result.json()
diff --git a/security/templates/security/login_form.html b/security/templates/security/login_form.html
index ce421c5336d36c92a4611ddd44eadbf5cb1a5377..0bdf2f84002dcb2a5b8b1f4790915b2796cfc75b 100644
--- a/security/templates/security/login_form.html
+++ b/security/templates/security/login_form.html
@@ -32,6 +32,6 @@
 	
 </head>
 <body>
-<iframe src="http://{{settings.VIPSLOGIC_SERVER_NAME}}/login?nextPage=/closeAndReloadParentAfterLogin"></iframe>
+<iframe src="{{settings.VIPSLOGIC_PROTOCOL}}://{{settings.VIPSLOGIC_SERVER_NAME}}/login?nextPage=/closeAndReloadParentAfterLogin"></iframe>
 </body>
 </html>
\ No newline at end of file
diff --git a/security/views.py b/security/views.py
index e059c7c15883991149239524bfb519c1d6d48f48..cfadb888f6c9a8d52e99a69cf5c10d33f207c9af 100644
--- a/security/views.py
+++ b/security/views.py
@@ -48,7 +48,7 @@ def logout(request):
         # Delete session info
         request.session["vips_logic_user"] = None
         # Delete user UUID
-        requests.delete("http://%s/rest/user/uuid/%s" % (settings.VIPSLOGIC_SERVER_NAME,user_uuid))
+        requests.delete("%s://%s/rest/user/uuid/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,user_uuid))
 
     # Return to index page
     return response
\ No newline at end of file
diff --git a/vips_messages/models.py b/vips_messages/models.py
index c2b63b4e993230e2b46206d8ace665ced197a5f5..59a5e34cf68c96262b518457da820db53a6efcb3 100644
--- a/vips_messages/models.py
+++ b/vips_messages/models.py
@@ -45,7 +45,7 @@ class MessageTag:
     
     @staticmethod
     def get_message_tags_as_json():
-        request_result = requests.get("http://%s/rest/messagetag/list" % (settings.VIPSLOGIC_SERVER_NAME))
+        request_result = requests.get("%s://%s/rest/messagetag/list" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME))
         return request_result.json()
     
     @staticmethod
@@ -90,7 +90,7 @@ class Message:
         self.crop_category_ids = crop_category_ids
     
     def get_illustration_url(self):
-        return "http://%s/static/images/messages/%s/%s" % (settings.VIPSLOGIC_SERVER_NAME,self.organization_id,self.illustration_file_name)
+        return "%s://%s/static/images/messages/%s/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,self.organization_id,self.illustration_file_name)
     
     """
     Getting information from persistence layer
@@ -122,19 +122,19 @@ class Message:
     def get_messages_as_json(publishedFrom=None, publishedTo=None):
         payload = {"publishedFrom":publishedFrom, "publishedTo":publishedTo}
         request_result = requests.get(
-                                      "http://%s/rest/message/list/%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID), 
+                                      "%s://%s/rest/message/list/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID), 
                                       params=payload
                                       )
         return request_result.json()
     
     @staticmethod
     def get_messages_by_tag_as_json(tag_id):
-        request_result = requests.get("http://%s/rest/message/list/%s/tagfilter?tagId=%s" % (settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID,tag_id))
+        request_result = requests.get("%s://%s/rest/message/list/%s/tagfilter?tagId=%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,settings.VIPS_ORGANIZATION_ID,tag_id))
         return request_result.json()
     
     @staticmethod
     def get_message_as_json(message_id):
-        request_result = requests.get("http://%s/rest/message/%s" % (settings.VIPSLOGIC_SERVER_NAME,message_id))
+        request_result = requests.get("%s://%s/rest/message/%s" % (settings.VIPSLOGIC_PROTOCOL, settings.VIPSLOGIC_SERVER_NAME,message_id))
         return request_result.json()
     
     @staticmethod