image/svg+xml
About Me

Welcome!

This site shares about my life and work. Most of what I do is devoted to practical solutions to avoid a global climate crisis. Acting from a point of compassion for all living things (or at least trying to!), I'm always ready to be challenged on how to maximize impact. Passionate about developing "whatever is missing" I'm building towards a sustainable future for all.

My Time

1. Open Access to Renewable Energies

Since 2012 I've been working with Solar Fire toward initiating a global wave of solar enterpreneurship.

2. Practical Tools for Change

Building web-platforms and systems with purpose that connect actors, empower people and facilitate change.

Urs Riggenbach

Selection of speaking engagements on camera or in front of impact-motivated crowds.

Idea, comment, interested to collaborate?

Contact Urs Riggenbach:
info@ursrig.com, 079 918 0663


Idee, Kommentar, interesse an Zusammenarbeit?

Bitte kontaktieren Sie mich:
Urs Riggenbach, info@ursrig.com, 079 918 0663

Presenting Lytefire - Swiss Alps

Presenting GoSol.solar - Finland

Presenting GoSol.solar - 2000 W Verein Solothurn

Freestyle Improv Acapella - Impact Hub Zurich

 

Urs Riggenbach

As Entrepreneur I support and enjoy building and growing businesses
from the ground up.

I get involved in things that make sense to me, have impact or bring learning and creation with it.

Lytefire / Solar Fire Concentration Ltd
CEO, Board Director & Co-Founder

June 2012 - now
Solar thermal technology solutions in the humanitarian and industrial sector.
 Technological development, project management, IT consulting, web and communication.

GoSol.solar
CEO, Board Director & Co-Founder

June 2012 - now
Launch of innovative platform for the spread of solar thermal energy solutions.

Autodesk Inc, San Francisco
Pier 9 Impact Residency

February 2017 - May 2017
 Industrial CNC machine training (Waterjet, Lasercuting, 5 axis CNC)
 Rapid prototyping using state of the art CNC machinery

vonsalis communications
Lead Developer

2014 - 2022
Development of custom web-platforms for the Zurich-based environmental communications agency.

UrsRig Consulting
Founder and CEO

2014 - now
Creation of web-development agency of impact and sustainability projects and beyond.

WWF Switzerland
Swiss Civil Service

February 2013 - July 2013
 Development of exhibition on renewable energies.

Oekozentrum Langenbruck, Switzerland
Swiss Civil Service

August 2013 - February 2014
 Support in research and development.

Sustainable Design/Build, Yestermorrow, USA
Semester course in sustainable design and building practices

 Instructors from the fields of architecture, construction and joinery/Carpentry
 Application of principles of sustainability and sustainable design in the architecture of a "tiny house" of 227 square feet.
 Project planning and management with different build milestones.
 Construction of entire tiny house, see it in New York Post "Tiny House 227".
 Study and implementation of HVAC systems.

College of the Atlantic, USA
Bachelor of Arts in Human Ecology

September 2008 - June 2012
 Relevant Coursework: Agroecology, Economic Development, International Water Resource Management, Physics II, Collaborative Leadership, Fieldwork: Seminar in Community-based Research, Documentary Film Making, Webdesign, Fixing Food Systems, Sustainability, Local Production - Global Collaboration.
 Senior project in Nepal installing renewable energy framework at rural school
 Spanish proficiency during project-stay in Yucatán, Mexico
 Davis UWC Scholar: full scholarship awarded

United World College, India
International Baccalaureate, IB

September 2006 - May 2008
 International Baccelaurate (IB) with major biology and economics.
 Course language English.
 Extended essay: Sugarcane Cultivation in the Mulshi Valley, India.
 Full Scholarship from the Swiss Association for UWC

Born

1990

Urs Riggenbach

As Developer I build scalable, secure and performing solutions in Apps,
on the Web and on the Cloud.

I work in a network of curated developers, designers and content creators, so each project happens in a project-specific team. For the Canton of Bern I built the interactive App "Biz-Links" that helps people find the right career. As a progressive web app it is simultaneously avaiable on Android and iOS devices, as well as directly reachable in the browser by link. My full portfolio is further below.

 

 

 

 

 

 

 

 

 

 

 

 

 

Portfolio

Selection of projects in the fields of web-development, internet security, Android-app development, webstores, crowdfunding and campaign sites, online community platforms and financial modeling. Most projects are based on a security and scalability optimized tech-stack based on open-source SPIP, LXC and GNU/Linux.

Project idea and need a tech-team? Let's talk!

Clients & Users

Projects

Urs Riggenbach

I like creating content and sharing ideas. My blog contains notes across topics that may be helpful to others.

Enable Browser Caching with NGINX

Posted Friday 19 June 2015 by Urs Riggenbach.

server
listen 80;

location /

expires 30d;
add_header Pragma public;
add_header Cache-Control "public";



Set default server on NGINX

Posted Friday 19 June 2015 by Urs Riggenbach.

When NGINX can’t match a virtual host to a requested domain name it serves the first server-block registered in the system. This results in all unconfigured domain names serving the same website, which negatively affects SEO.

To serve a site for all unconfigured domain names, use the default_server property to serve a placeholder page. Don’t forget to set it on both HTTP:80 and HTTPS:443.

Create a file in /etc/nginx/sites-enabled/ and paste this config to serve a static html page stored at /var/www. Don’t forget to adjust the reference to the SSL key and crt.

Don’t forget to restart the nginx server afterwards (Debian):
service nginx restart

Sample fallback config file

server {
	listen   80 default_server;

	root /var/www;
	index index.html index.htm;

	# Make site accessible from http://localhost/
	server_name localhost;

	location / {
		# First attempt to serve request as file, then
		# as directory, then fall back to displaying a 404.
		try_files $uri $uri/ /index.html;
		# Uncomment to enable naxsi on this location
		# include /etc/nginx/naxsi.rules
	}

	
}



# HTTPS server
#
server {
	listen 443 default_server;
	server_name localhost;

        root /var/www;
        index index.html index.htm;

ssl on;
ssl_certificate /etc/nginx/fallback.crt;
ssl_certificate_key /etc/nginx/fallback.key;

#enables all versions of TLS, but not SSLv2 or 3 which are weak and now deprecated.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

#Disables all weak ciphers
ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";

ssl_prefer_server_ciphers on;

	location / {
		try_files $uri $uri/ =404;
	}
}

PiWik behind proxy in LXC or Qemu

Posted Wednesday 3 June 2015 by Urs Riggenbach.

PiWik can lookup your site visitor’s IPs to geolocate them. But if you’re running PiWik as an LXC container and forward traffic with Apache or Nginx to the container, PiWik thinks you’re coming from the IP the last network interface, eg. 10.0.0.2 or your server’s public facing IP.

I assume that the container runs Debian and you’re running PiWik with Apache.

1. Make sure you forward the original remote IP as HTTP headers to your Piwik install.
If you use NGINX as a proxy, you’d do it as follows:

proxy_set_header X-Real- $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

2. Configure Piwik to use the remote HTTP headers instead of normal ones:

nano /var/www/html/config/config.ini.php

and add these three lines below the [General] settings:

; Uncomment line below if you use a standard proxy
proxy_client_headers[] = HTTP_X_FORWARDED_FOR
proxy_host_headers[] = HTTP_X_FORWARDED_HOST

You may also need to enable the Apache RPAF module.

apt-get install libapache2-mod-rpaf
nano /etc/apache2/mods-enabled/rpaf.conf

Change RPAFproxy_ips setting to include your bridge network’s IP, or public IP depending on your set up, eg. 10.0.0.2

service apache2 restart

Check your PiWik and see visitor’s IPs. PiWik can automatically anonymize IP adresses to retain privacy.