rproxy | A HTTP reverse proxy with TLSSNI support | Proxy library

 by   hawkowl Python Version: Current License: Non-SPDX

kandi X-RAY | rproxy Summary

kandi X-RAY | rproxy Summary

rproxy is a Python library typically used in Networking, Proxy applications. rproxy has no bugs, it has no vulnerabilities, it has build file available and it has low support. However rproxy has a Non-SPDX License. You can download it from GitHub.

A HTTP reverse proxy with TLS+SNI support.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              rproxy has a low active ecosystem.
              It has 43 star(s) with 7 fork(s). There are 2 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 3 open issues and 3 have been closed. On average issues are closed in 143 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of rproxy is current.

            kandi-Quality Quality

              rproxy has 0 bugs and 0 code smells.

            kandi-Security Security

              rproxy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              rproxy code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              rproxy has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              rproxy releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.

            Top functions reviewed by kandi - BETA

            kandi has reviewed rproxy and discovered the below as its top functions. This is intended to give you an instant insight into rproxy implemented functionality, and help decide if they suit your requirements.
            • Render the given request
            • Render a link to a URL
            Get all kandi verified functions for this library.

            rproxy Key Features

            No Key Features are available at this moment for rproxy.

            rproxy Examples and Code Snippets

            No Code Snippets are available at this moment for rproxy.

            Community Discussions

            QUESTION

            Why are some Nginx reverse proxied hosts trying to get files locally from /etc/nginx/html?
            Asked 2021-Mar-18 at 15:29

            I've set up a simple Nginx reverse proxy using the "official image" Docker container. I've set it up to act as a front end for three containers, but only one is working correctly. The others load their index.html, but then try to pull ancillary files with URLs that make Nginx think they're local files.

            The Docker host is called otto. I have Docker containers for Home Assistant listening on port 8123, Statping on port 8080, and Portainer on port 9000. Because I'm tired of remembering port numbers, my proxy_pass is set up so http://otto/homeassistant/ redirects to http://otto:8123/, http://otto/statping/ to http://otto:8080/ and http://otto/portainer/ to http://otto:9000

            But, only Portainer works. The other two load their index.html just fine, but then start trying to pull javascript files from /js/somefilename.js. This of course fails, because there's no http://otto/homeassistant or http://otto/statping on the front of it. Nginx then tries to find the file locally in /etc/nginx/html, fails, and gives up.

            My question is why does Portainer work so flawlessly when the other two can't even load a home page?

            I've tried disabling local file serving, by commenting out location / { }, but it doesn't matter.

            I've tried assigning HTTP headers that I've seen in other examples, like this:

            ...

            ANSWER

            Answered 2021-Mar-18 at 15:29

            The problem was exactly as @zigarn had pointed out in the comments. The apps being reverse proxied were relying on URLs with a base of / and not something like /statping or /homeassistant. Portainer worked because it apparently does not have that same dependency.

            The solution is to move away from reverse proxying based on URL and instead use reverse proxy based on hostname. So now, rather than http://otto.local/statping/, I have http://statping.otto.local/ All reverse proxied apps load their home pages with this arrangement, so I feel like it's a win.

            There area still some minor troubles with homeassistant and node-red, and I suspect this may be due to a need to reverse proxy web sockets. Still researching that, but the main objective of getting them all to pull up a home page or login page has been accomplished.

            Now for the gory details...

            Because this is a home setup, with the standard, basic functionality internet router, I had to put some work into setting up a DNS server before names like statping.otto.local or homeassistant.otto.local would resolve.

            To do this, I installed bind 9 on otto, the same host running the Docker containers. It's installed from a package on Raspberry Pi OS rather than as a container. The trick was to use a wildcard CNAME in addition to the DNS entry for otto.local.

            With *.otto.local pointing to otto.local, I am able to get any combination of {appname}.otto.local to resolve to otto's IP address. Now, typing http://portainer.otto.local et al. gets me to otto and Nginx.

            In the Nginx config, it's a matter of creating several entries that look like this one:

            Source https://stackoverflow.com/questions/66648366

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install rproxy

            You can download it from GitHub.
            You can use rproxy like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/hawkowl/rproxy.git

          • CLI

            gh repo clone hawkowl/rproxy

          • sshUrl

            git@github.com:hawkowl/rproxy.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Proxy Libraries

            frp

            by fatedier

            shadowsocks-windows

            by shadowsocks

            v2ray-core

            by v2ray

            caddy

            by caddyserver

            XX-Net

            by XX-net

            Try Top Libraries by hawkowl

            saratoga

            by hawkowlPython

            myriagon

            by hawkowlPython

            eagleeye

            by hawkowlPython

            sansiopg

            by hawkowlPython

            horsejax

            by hawkowlPython