Comments (18)
I use NGINX to proxy the port I have txadmin running on and a legs encrypt certificate, it's not really that hard just need yo set it all up.
There's a few good guides out there just follow one of them by googling ssl certificate setup with nginx
I should also mention I'm running the admin panel on a Linux/Ubuntu server
from txadmin.
I'm going to add SSL compatibility in the upcoming versions.
For now, I must first implement a "Advanced settings" tab.
Just not sure how to implement everything needed atm.
from txadmin.
SSL working fine, but is it possible to block access from http if https is enabled?
For now? No, If you really want to enforce it, make sure to only open the HTTPS port in your firewall rules.
from txadmin.
Maybe something like this:
https://cheapsslsecurity.com/blog/how-to-install-ssl-certificate-on-node-js/
Again not familiar with how nodejs apps work so not sure if it is as simple as adding this kinda of code or not.
from txadmin.
Thank you for answering, it works great and I love it, was just trying to make it more secure.
from txadmin.
Just leaving this here as a note for my self:
For a tutorial, might be cool to include how to generate a certificate using https://zerossl.com/
from txadmin.
A note, there are plenty of Node packages which would allow you to add ACME support, allowing for automatic and free certificate generation and management if you wanted completely transparent and automatic HTTPS support.
from txadmin.
@JoeBiellik Sounds interesting. I will check some projects for sure (greenlock-express and the acme package for example).
I'm just worried how this would go with admins that already have their own certs issued. Maybe subdomains would be the way to go?
IDK, will have to think about it for a while.
from txadmin.
it might not be important but I do all of my SSL certificate handling through Nginx with the Lets Encrypt Certbot. wasnt too hard. and it seems to give the certificate easy and redirects you to a https connection
from txadmin.
Here's the deal, adding SSL support ended up being way more complicated than I was expecting since FiveM's PerformHttpRequest
method doesn't seem to be able to handle HTTPS requests.
So, we would need to have one HTTP and one HTTPS endpoint.
I tested the httpolyglot
lib and it seems to work fine for having both http and https running in the same port, but seems a bit hacky.
Then the next option would be to have two ports, one for http and one for https.
That also doesn't seems like a great idea because you would need to force it in your request URI.
And since the browsers/protocols really don't handle protocol mismatch at all, I would be bombarded by people saying that txAdmin doesn't work because they are using the wrong protocol in the wrong port (the browsers usually say the page isn't working).
So, how i'm going to deploy it right now:
- BETA feature not present in the menu
- the key and cert paths will be hardcoded to the data folder
- to turn it on you need to set the
cfg.webServer.httpsPort
to something
This solution is clearly not "Homer Simpson-friendly", but to be honest that's a bit by design.
I think the best solution would be to default to 80/443, but unless we have the ability to run multiple servers in the same txAdmin instance, that is not possible.
For reference, this decision was somewhat inspired by these two threads from Kibana:
elastic/kibana#10948
elastic/kibana#10181
Note: this is clearly not a 1-to-1 comparison since the average skill of a Kibana admin is way higher than a fxserver admin.
from txadmin.
"Solved" by 27585e2
from txadmin.
SSL working fine, but is it possible to block access from http if https is enabled?
thanks
from txadmin.
yea I allready try it, but it start spam in console
[txAdminClient] Logger upload failed with error: request timed out [txAdminClient] HeartBeat failed with code 0 and message: nil
from txadmin.
That's because the txAdminClient resource need to use HTTP, make sure to allow connections from localhost.
from txadmin.
yea, that seems work, thank you!
from txadmin.
Seems to be working fine, and since no one is asking for anything else, I will just finish this.
Might add priv key encryption support, but since the config is in a json file i'm not sure if that's that relevant after all.
Let me know if anyone disagrees or have anything else on this topic.
from txadmin.
Hey, is it currently still possible to set up HTTPS and use an SSL certificate?
If yes, how? It looks like the documentation from 27585e2 got removed
from txadmin.
I can't seem to find config.json inside of data/
anyone knows the complete directory?
from txadmin.
Related Issues (20)
- my tx admin keeps saying Unable to start the server due to error(s) in your config file(s): /home/vibegames/server.cfg: Your config file does not specify a valid endpoint for fxserver to use. Please delete all endpoint_add_* lines and add the following to the start of the file: endpoint_add_tcp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120" HOT 4
- [BUG] run recipe error HOT 1
- [BUG] Infinite loading screen on Server Log HOT 1
- [FEATURE]: Particle Effects HOT 2
- [BUG] Due to an unexpected error, the panel has crashed. HOT 6
- [BUG] I cannot Join discord server !!! HOT 2
- [FEATURE/SHOWCASE]: Git version control for server-data HOT 3
- [FEATURE]: Get the play time of a player HOT 1
- [FEATURE]: Tracking & charting individual player activity HOT 4
- [FEATURE]: Command Ban HOT 5
- [FEATURE]: Toggleable Host CPU/memory stats on sidebar HOT 1
- [FEATURE]: Search by identifiers/actions under new players list HOT 3
- Change language HOT 1
- [FEATURE]: Ability to disable the electrical effects with player mode change HOT 1
- [FEATURE]: Delete server cache HOT 1
- [FEATURE]: Permission for showing player distance/mode of travel HOT 1
- [FEATURE]: txAdmin Ban Player Event HOT 1
- [FEATURE]: do txadmin have a plan to support http over ssl/tls? HOT 2
- [FEATURE]: Add Revocation Reason HOT 4
- [FEATURE]: Names of players currently on the server discord bot HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from txadmin.