Comments (5)
@ntoporcov in simple terms, reverse proxy is used to access self-hosted services through web. E.g., you have your server which is located far away from you, not in the same local network. It hosts some service on localhost. You want to access this service. Of course, it can be accessed through VPN, but e.g., you want to give the access to this service not only to you (example: Nextcloud) - and in case of using VPN, you provide the access not only to this service, but also to other recourses which you don't want to share with others, e.g., due to security reasons. Other thing: you may not want to use VPN at all to access your service (switching it on and off, waste battery power on enabled VPN). That's where reverse proxy comes in handy. E.g., you have your own website or use some of DDNS services. Using reverse proxy, you can easily map your service which is on address localhost:1234 to website my-server.com/my-service (SERVER.COM/qbt in the config above). Reverse proxy also supports SSL certificates and prohibit http access, to access only through https.
qBittorrent repo has at least two docs regarding NGINX reverse proxy:
- NGINX Reverse Proxy for Web UI
- Linux WebUI HTTPS with Let's Encrypt certificates and NGINX SSL reverse proxy
Default qBittorrent WebUI works without any issues through reverse proxy. iQbit doesn't. But default WebUI is not optimized at all for smartphones, and it's hard to use its interface on them. Here comes iQbit which can provide excellent UX on smartphones. Supporting reverse proxy, it can be accessed securely through user's website from anywhere with an internet connection.
BTW, that's what ChatGPT answered on the request to provide the list of self-hosted services with reverse proxy support:
There are several self-hosted services that support reverse proxy, allowing you to route traffic to them through a reverse proxy such as NGINX. Some examples include:
Nextcloud: A popular open-source cloud storage solution that allows you to sync files, manage calendars, and more.
Plex: A media server that allows you to stream your movies, TV shows, and music to any device.
GitLab: A web-based Git repository manager that allows you to manage your source code, track issues, and more.
WordPress: A popular content management system that allows you to create and manage websites.
Bitwarden: An open-source password manager that allows you to securely store and access your passwords.
Gitea: A lightweight Git service that allows you to host your own repositories.
Home Assistant: An open-source home automation platform that allows you to automate your home.
Grafana: An open-source analytics and monitoring platform that allows you to visualize and analyze data.
BookStack: An open-source wiki-like platform that allows you to create and manage documentation.
Syncthing: An open-source file synchronization tool that allows you to sync files between devices.
These are just a few examples of self-hosted services with reverse proxy support. Many other self-hosted services also support reverse proxy, and the list is constantly growing as more developers recognize the benefits of this approach.
And that's what it answered on the question "And what about qBittorrent?":
Yes, qBittorrent is a self-hosted BitTorrent client that supports reverse proxy. By default, qBittorrent listens on a specific port, but you can use a reverse proxy such as NGINX to route traffic to qBittorrent through a different port or domain name.
Using a reverse proxy can provide several benefits, such as enabling SSL encryption and allowing you to access qBittorrent remotely. Here's an example NGINX configuration for qBittorrent:
server { listen 80; server_name torrent.example.com; location / { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /api { proxy_pass http://localhost:8080/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; } }
In this configuration, NGINX listens on port 80 and routes traffic to qBittorrent, which is listening on port 8080. The
proxy_set_header
directives ensure that the correct headers are passed along to qBittorrent, including the original host and IP address of the client.Note that you may need to adjust the configuration based on your specific setup, such as if you want to enable SSL encryption or use a different domain name. Also, be sure to secure your qBittorrent instance with a strong username and password, and consider using additional security measures such as IP whitelisting.
from iqbit.
Could be the same: #38, which is in open state since Aug 30, 2022.
from iqbit.
Yeah, it's hard to fix something that I don't use and don't necessarily understand how it's used so I prioritized other issues..
What is this reverse proxy thing? Why do you use it? What is it actually doing in your network?
from iqbit.
I'm using apache2. You need to reverse proxy the static path as well.
I set
ProxyPass "/qbittorrent/" "http://127.0.0.1:7654/"
ProxyPass "/api" "http://127.0.0.1:7654/api"
ProxyPass "/static" “ http://127.0.0.1:7654/static”
in the .conf file. That fixed my reverse proxy and now everything works just fine.
Not quite sure about nginx, but I think the solution would look similar.
from iqbit.
Related Issues (20)
- [Feature Request] Auto create docker on new release? HOT 1
- please ipa iQbit HOT 3
- [Feature Request] being able to disable the additional tabs? HOT 8
- Docker Compose HOT 1
- Cannot login HOT 6
- Change Category not working HOT 2
- Delete torrent not working w/ update HOT 5
- Bug + Random Requests
- Impossible to log in HOT 2
- Unable to log in to iQbit standalone server
- Feature Request - Select files to be included or excluded
- Sequential download / Download first and last parts
- host header validation HOT 3
- "Unacceptable file type, only regular file is allowed" for multiple alternative web UIs HOT 3
- please add sort in search
- search page becomes slow and unresponsive HOT 1
- add torrent button does nothing HOT 2
- Blank screen when UITheme applied HOT 25
- Has this project been abandoned? 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 iqbit.