Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
yarn build  # If not already done above
sudo apt install nginx  # We'll set it up below, so if you didn't install it already...
sudo mkdir /var/www/html/front/
sudo chown $USER /var/www/html/front/
cp -r build/* /var/www/html/front/

...

Code Block
languagebash
sudo apt install nginx
sudo rm /etc/nginx/sites-enabled/default  # remove the default site (it’s just a link, don’t worry)
sudo vi /etc/nginx/conf.dsites-available/openimis.conf

...


sudo ln -s /etc/nginx/sites-available/openimis.conf /etc/nginx/sites-enabled/openimis.conf

Here is a sample configuration, to be tuned to your setup. The SSL parts are commented out, they will be updated by Letsencrypt’s certbot:

Code Block
upstream docker-backend {
        server localhost:8000;
}
upstream docker-frontend {
        server localhost:3000;
}
upstream restapi {
        server localhost:8080;
}
server {
        server_name example.openimis.org;
#        return 301 https://$host$request_uri;
#}
#server {
#
#        listen       443 ssl;
#        server_name example.openimis.org;
#
##        ssl_certificate /etc/ssl/certs/example.openimis.org.crt;
##;
##        ssl_certificate_key /etc/ssl/private/example.openimis.org.key;


        location /.well-known {
                root /var/www/html;
        ssl_certificate_key /etc/ssl/private/example.openimis.org.key;

}

        location /.well-knownLegacyHome {
                root /var/www/htmlreturn 204;
        }

        location /LegacyHomekeepLegacyAlive {
                return 204;
        }

        location /keepLegacyAlive {
                return 301 204/front/;
        }
        
        location /home {
                return 301 /front/;
        }

        location /Home.aspx {
                return 301 /front/;
        }

        location ~/front/(.*) {
                root /var/www/html;
                try_files $uri $uri/ /front/index.html;
                #error_page 404 $scheme://$host/front/;
        }

        location /iapi/ {
                proxy_pass http://docker-backend/api/;
                proxy_set_header   Host $host;
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header   X-Forwarded-Host $server_name;
        }

        location /api/ {
                proxy_pass http://docker-backend/api/;
                proxy_set_header   Host $host;
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header   X-Forwarded-Host $server_name;
        }

        location /rest/ {
                proxy_pass http://restapi/;
                proxy_set_header   Host $host;
                proxy_set_header   X-Real-IP $remote_addr;
                proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header   X-Forwarded-Proto https;
                proxy_set_header   X-Forwarded-Host $server_name;
        }
}

...

...