Проксирование через Nginx
Для проксирования можно воспользоваться следующим конфигом nginx. Если на вашем основном домене стоит сайт, то вы можете указать вместо доменного имени поддомен(minecraft.projectname.ru).
Подходит если у вас нет SSL сертификата или его предоставляет вам CloudFlare
server {
listen 80;
server_name projectname.ru;
#autoindex on;
location / {
root /путь/до/updates;
}
location /api {
proxy_pass http://localhost:9274/api;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /webapi {
proxy_pass http://localhost:9274/webapi;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
Подходит если у вас есть SSL сертификат(в том числе от Let's Encrypt)
server {
listen 80;
listen 443 ssl;
server_name projectname.ru;
ssl_certificate /путь/до/сертификата.crt;
ssl_certificate_key /путь_до/ключа/сертификата.key;
#autoindex on;
location / {
root /путь/до/updates;
}
location /api {
proxy_pass http://localhost:9274/api;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location /webapi {
proxy_pass http://localhost:9274/webapi;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
}
*добавление autoindex on;
- может решить проблему в некоторых случаях. В примерах данная строчка уже есть, вам просто нужно будет убрать #.
Также в офф вики после порта 80 стоит http2
(listen 80 http2;
). Иногда это может мешать корректной работе, поэтому добавляйте с осторожностью и тестируя.
Далее в LaunchServer.conf нужно настроить netty и поменять ссылки на свои на свои, что вы указывали при настройке nginx.
Пример без использования ssl:
"launcherURL": "http://kek.ru/Launcher.jar",
"downloadURL": "http://kek.ru/%dirname%/",
"launcherEXEURL": "http://kek.ru/Launcher.exe",
"address": "ws://kek.ru/api",
Пример c использованим ssl:
"launcherURL": "https://kek.ru/Launcher.jar",
"downloadURL": "https://kek.ru/%dirname%/",
"launcherEXEURL": "https://kek.ru/Launcher.exe",
"address": "wss://kek.ru/api",
А также заменить ipForwarding
с false на true и fileServerEnabled
с true на false.