Comments (11)
Doing it this way could put significant stress on the host that is the proxy for these connections. You would take what is essentially a spread out load and putting it on a single point of potential failure.
While I understand the reasoning behind why you would proxy all the connections though. My word is not the projects. I am just calling out potential issues.
from panel.
This isn't going to happen. Most actions are already proxied through the panel and the few that aren't were designed to hit the node directly.
The actions that hit the node directly are:
- WebSocket (console output, live events, sending power action, etc)
- File Uploads
- Backup Downloads (when using the local storage driver)
- SFTP
There may be a few others, but these are the ones I know of that hit the node directly either due to protocol complexity (proxying websockets is a pain) or high bandwidth usage.
If you need all of these to work on an internal network externally, run a Layer 7 (or Layer 4) reverse proxy that fronts the connection to Wings.
But this behaviour will not be changed. Support for different public/private endpoints options (like panel -> wings vs client -> wings) may be added, but we are not proxying everything through the panel.
from panel.
I think I should have been more specific in the feature description. I want to get only the information about the server status and logs to the front-end. The game traffic, meaning users connecting to the wings, would work as they have been until now meaning directly from user to the node.
For example, on the front-page of the panel I can see that my servers are actually running at the moment and on what IP+Port. In this case information is transmitted from the wings agent to the panel and from the panel to the front-end.
I definitely agree with you that proxying all the traffic through the node is not a good idea. However, sending telemetry data such as CPU usage, RAM usage, logs and the status on those servers should not be a huge amount.
Please let me know if the above makes sense or if I am completely wrong in understanding how this works..
Sorry, clicked on close issue by mistake
from panel.
I wasn't saying to proxy the game servers though the panel server. I was talking about wings.
The panel directly connects to wings already, it just doesn't proxy the console. It's a faster connection to make it direct. I know this doesn't cache the output in the panel.
from panel.
Ah alright. So I guess we don't want to proxy the console :(. Should we close this issue?
from panel.
I had this issue as well when using a local IP address. What if there was an option or something that you could set which would proxy the console through through the panel? Not defaulted, but just there for some specific use cases?
from panel.
I also have excatly this problem. I have a configured a Minecraft server that starts up perfectly fine, but the Console does not connect to it. I can press the Stop button, but with no effect. It seems to me the Console has crashed somehow, but I see no error messages neither in Wings (runnig with --debug) or in the nginx error log of the panels webserver.
from panel.
This issue you are all describing is that your computer is unable to reach the wings instance. This is not a pterodactyl issue so much as it is a configuration issue.
There are all kinds of network configurations that can cause this issue.
from panel.
The simplest solution is probably to use the webserver to proxy the connection to wings.
I do exactly that in my setup (Nginx). Not sure how this would look like for Apache or caddy.
from panel.
The simplest solution is probably to use the webserver to proxy the connection to wings.
How would I go about doing this? I'm using Nginx.
from panel.
First you need to add the default_server
tag to the listen entry like this:
server {
listen 443 ssl http2 default_server;
server_name panel.<domain>;
# ....
}
Note that you need to give the exact domain (e.g panel.example.com) on at server_name
The second step is to add a new server block like this
server {
listen 443;
server_name wings.<domain>;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass https://<wings domain or ip>:<wings port>;
}
}
You can also add the second server block (for wings) as a new file in /etc/nginx/sites-avaiable/pterodactyl-wings.conf
and link it to sites-enabled
Note: You can also add your ssl certificate in the wings nginx configuration instead of giving it wings.
from panel.
Related Issues (20)
- Seperate permission for download HOT 2
- P_SERVER_ALLOCATION_LIMIT always 0.000000 HOT 3
- Cannot transfer server to node that has no resources left despite overallocate being set to -1. HOT 1
- Add hint/tip about pterodactyl and bungeecord
- A notes tab for each individual server HOT 1
- A file that allows you to import servers HOT 1
- Alternative to the `alternative` match expression for Regular Expressions HOT 2
- Download backup url from api not working HOT 4
- Console not rendering properly, can only see unreadable rainbow colour chatacters HOT 4
- Ban on discord HOT 5
- Use location.origin to set the remote parameter in config HOT 9
- Don't display the port of a server if the allocation alias is set. HOT 7
- Can't change default language HOT 1
- Error: Command failed: php senja.php /bin/sh: 1: php: not found HOT 3
- other server path to backup
- Querying endpoint including eggs sometimes throws json exception HOT 3
- Hide "Launch SFTP" button on Firefox and Firefox-based browsers. HOT 5
- PostgreSQL not present in releases HOT 1
- Bot Panel 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 panel.