
Letsproxy
UI for nginx proxy with letsencrypt SSL termination support
Got approved for github sponsors so I decided to finally push the code I made so far to github and make it available to public.
There are still a couple of things I want to implement before I would consider this remotely production ready. First is to use background tasks so that UI is not blocking. And second implement node-red style UX with drag & drop type configuration, which should make it much easier for people to use.
I decided to apply for an opensource grant which should push things along and help getting to v1.0.0 faster. I set v1.0.0 as a milestone and organised all the open issues that need to be completed in order to be production ready.
After that I can focus on growing community of users. Hopping this will be well accepted in the rPi community as I plan to wrap everything inside raspbian image for simple installation.
1 Like
Comment
Fixed 5 bugs to improve UX mainly on the input side. Just enforcing naming rules when it comes to domain/subdomains/upstreams.
Also refactored huge portions of modules to either return or throw exceptions on errors that can be easily caught and displayed as popups.
Also made a success popup on successful system configuration reload, yey :)
1 Like
Comment
Added Noty JS library for popup notifications for a nicer UX. Also refactored some of the modules that were not catching Promise errors correctly so that they return error messages now which can be shown in a form of nice popup messages now.
Next stop is rework of the Nginx/Acmetool error messaging
1 Like
Comment
Added two mayor functionalities to the code.
First one is the ability to add rewrites to server configuration. This is useful when you have websites which changed platforms and you need to redirect old URLs to new one so you don't loose SEO and/or back-links.
Second one is the ability to add extra locations to Nginx configuration. This is needed for the same example as above. When a certain URL path is matched (from old domain) you can do simple 301 (or others) redirects to new URL structure.
1 Like
Comment
Fixed few minor issues with logging.
Added support for acmetool unwant. Still need to decide on what events to actually call this.
Domains and upstreams are now sorted in UI.
Added support to proxy webSockets to upstreams. Letsencrypt ensures that the webSocket traffic between clients and nginx proxy is securely encrypted.
This allows me to test the configuration for another project I'm working on that needs secure RCON connections to game servers :)
1 Like
Comment
Finally refactored huge portions of code to fix some mayor issues with the system. Up-streams can now be shared between front-ends with out issues.
Still need to automate and add manual controls for certificates. Also nginx config does not always reload when needed.
2 Likes
Comment
Started adding some automated tests to the project to avoid introducing stupid bugs in the future. Also implemented ESLint rules for the source code to make it more JS guidelines consistent.
Had to fix a bug with domain aliases to make it up to nginx specs.
1 Like
Comment
Fixed a few bugs around nginx proxy configuretion so it works properly with AWS backends.
Had to refactor upstream code generator to properly generate nginx upstream configurations.
Next step: more testing on real life AWS websites.
Fingers crossed :)
1 Like
Comment
Refactored huge portions of the code while fixing bugs.
This is what happens when you coding your ideas from head and
don't make any plans :)
Lots of work went into the front end part of the app. Updating pug templates to make it more bearable to the users eyes.
1 Like
Comment
About
I did not like the way lets encrypt certificates are handled in Rancher server. So I decided to make a UI that will control Nginx proxy with lets encrypt SSL termination.

Comment