Jump to content

gameguru

Members
  • Posts

    17
  • Joined

  • Last visited

Posts posted by gameguru

  1. I ended up closing ports 5432 and my application's 20000 and figuring everything out in nginx. Never thought I would have 70 ms response times on a $4/ month server!

    It involved a lot of googling and bouncing ideas off friends, but here are some resources that helped me:

    Don't use this first one, it's self-signed. But it's a good intro to the world of HTTPS.

    https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-in-ubuntu-16-04

    I took the first two parts of this.

    https://sanic.dev/en/guide/deployment/nginx.html#nginx-configuration

    This guide showed me how to ufw allow nginx

    https://haydenjames.io/how-to-set-up-an-nginx-certbot/

    And this one brought it all together, with running certbot as sudo, under LetsEncrypt, and registering it to auto-renew as a cron job.

    https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx

    • Like 1
  2. I'm able to deny myself service simply by issuing an https request; gunicorn will block all other requests from all other clients, until the HTTPS request times out and completes. Seems to be partly a Flask issue that I'll have to work out. Possibly by switching to golang.

    But the HTTPS not being supported at all, it's something this site could provide some documentation on.

    Out of the box, it's not supporting anything, and I have zero experience with things like nginx and certification. Heroku must have taken care of this for me, bc I never had to set it up. On the plus side, I wasn't aware of the severe blocking nature of Flask and this provides a perfect testing environment for that.

    $ ./sslscan vps76.heliohost.us:20000
    Version: 2.0.13-3-gae20ee3-static
    OpenSSL 1.1.1p-dev  xx XXX xxxx
    
    Connected to 216.218.216.163
    
    Testing SSL server vps76.heliohost.us on port 20000 using SNI name vps76.heliohost.us
    
      SSL/TLS Protocols:
    SSLv2     disabled
    SSLv3     disabled
    TLSv1.0   disabled
    TLSv1.1   disabled
    TLSv1.2   disabled
    TLSv1.3   disabled
    
      TLS Fallback SCSV:
    Connection failed - unable to determine TLS Fallback SCSV support
    
      TLS renegotiation:
    Session renegotiation not supported
    
      TLS Compression:
    Compression disabled
    
      Heartbleed:
    
      Supported Server Cipher(s):
    Certificate information cannot be retrieved.
    

    When i try to HTTPS on a sample go server, i get a nearly immediate reply.

    $ curl https://vps76.heliohost.us:5050
    curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number

    When I do the same on my Flask server, i get a similar error after a 20-30 second time out.

    $ curl https://vps76.heliohost.us:20000
    curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to vps76.heliohost.us:20000

     

  3. Apparently it has to be 0.0.0.0 instead of 127.0.0.1

    https://stackoverflow.com/questions/7023052/configure-flask-dev-server-to-be-visible-across-the-network

    I am able to interact from the outside world.

    But it brings me to the next points. HTTPS, and forwarding the default domain (to a specific port).

    There are warnings in the Flask server logs, by the guy on stackoverflow, practically everywhere that this is not good practice in production.

  4. Let's start with the http and a dev server, i guess. Later you can point me in the direction of https.

    I tried the ufw allow command, and it said success and it said "Skipping adding existing rule (v6)" when I tried again to add port 20000.

    It's running on 127.0.0.1, not sure if that matters?  But I still was NOT able to connect unfortunately from the outside world. Maybe i need to reboot after opening the port, or install something else or make more configuration changes?

    $ curl http://vps76.heliohost.us:20000/
    curl: (7) Failed to connect to vps76.heliohost.us port 20000: Connection refused
    WARN: skipping reload cache, can't build Postgres connection
    [__main__] bypassing gunicorn...
     * Serving Flask app 'ntserv.__main__' (lazy loading)
     * Environment: production
       WARNING: This is a development server. Do not use it in a production deployment.
       Use a production WSGI server instead.
     * Debug mode: on
     * Running on http://127.0.0.1:20000 (Press CTRL+C to quit)
     * Restarting with stat
    
  5. I had a few questions around running a flask server.                             
                                                                                     
    I was following this guide: https://flazepe.gitbook.io/heliohost/tutorials/flask
                                                                                     
    But it doesn't seem to explain some of my questions. Even though I had this      
    running in the past (before the run in with cPanel, on a free account), I can't  
    seem to figure it out this time.                                                 
                                                                                     
    I'm guessing my issue now is that the packages need to be installed at the user  
    level, and that it's not picking up my .venv folder or direnv directive.         
                                                                                     
    But I need to know exactly what is going on. Information is included below.      
                                                                                     
    I would also like to know if it's possible to run a dev and production server on
    different ports or domains (from the same vps)?                                  
    Can I also expose a pair of Postgres servers on different ports?                 
    I realize it's only a $4/month plan, so if I need to upgrade for some of these   
    features that's fine. But traffic would be low either way.                       
                                                                                     
                                                                                     
    Here is the latest commit on my flask server, I've been playing around for the 3
    commits before this. So let me know if I'm on the right track or doing anything  
    horribly wrong or if it's just a matter of installing the packages into the      
    path.                                                                            
                                                                                     
    My source: https://github.com/gamesguru/nutra-server/commit/420a1b3c79421f753c5a7ff6c7c257827165ca3e
                                                                                     
    Heliohost info: gamesguru, vps76                                                 
                                                                                     
                                                                                     
    We can update the docs for this too.                                             
                                                                                     
    I would like to use md & RST, but if the wiki is easier that works fine too.     
    Flask is probably more urgent, but if we can show people how to set Postgres up  
    on their vps that would help a lot I think.

  6. Tried twice, once with paypal and once with paypal credit.

    I have two $4 charges pending on my credit card, not sure those will go through or not?

    But each time i tried to press the pay button, the tiny pop up window loaded back to the page with ricky, bobby, etc, only in the small window this time.

     

    I'm not able to log in with the password/username combo i chose, either time.

    Is there a known problem with Firefox? Recently?
    What should I do next?

×
×
  • Create New...