Могу ли я настроить субдомен для указания на конкретный порт на моем сервере
У меня есть старый компьютер, который я превратил в сервер minecraft. У меня есть два сервера minecraft, работающих одновременно, один на порт 25565 (по умолчанию) и один на порт 25566.
Я купил домен something.com и указал его на свой сервер. Прямо сейчас, в игре вы вводите something.com, чтобы попасть на первый сервер и something.com:25566, чтобы попасть на другой сервер.
Есть ли способ установить one.something.com, чтобы указать на первый сервер, а two.something.com - на второй сервер? Я владею сервером (centos), имею корневой доступ и все остальное. Домен контролируется no-ip, если это имеет значение. Я знаю, что DNS не имеет отношения к номерам портов, но если есть программа, которую я могу установить, чтобы сделать эту работу?
Спасибо:)
Ответы
Ответ 1
Если у вас есть только один IP-адрес на сервере, нет никаких шансов на это. DNS - это простое имя для распознавателя числа (IP). Если у вас есть два IP-адреса на сервере, вы можете указать каждый поддомен на каждый из IP-адресов и запустить оба сервера на порту по умолчанию для каждого IP-адреса.
one.example.com → 127.0.0.1 (сервер: 127.0.0.1:25565)
two.example.com → 127.0.0.2 (сервер: 127.0.0.2:25565)
Ответ 2
Если у вас есть доступ к SRV Records, вы можете использовать их, чтобы получить то, что хотите:
например
Записи
Name: mc1.domain.com
Value: <yourIP>
Name: mc2.domain.com
Value: <yourIP>
Записи SRV
Name: _minecraft._tcp.mc1.domain.com
Priority: 5
Weight: 5
Port: 25565
Value: mc1.domain.com
Name: _minecraft._tcp.mc2.domain.com
Priority: 5
Weight: 5
Port: 25566
Value: mc2.domain.com
то в minecraft вы можете использовать
mc1.domain.com, который подпишет вас на сервер 1, используя порт 25565
и
mc2.domain.com, который подпишет вас на сервер 2, используя порт 25566
то на вашем маршрутизаторе вы можете указать на нем 25565 и 25566 с сервером и Voilà!
Источник: для меня работает 2 сервера minecraft на одной машине с портами 50500 и 50501
Ответ 3
Я... не думаю. Вы можете перенаправить субдомен (например, blah.something.com
), чтобы указать на something.com:25566
, но я не думаю, что вы можете настроить субдомен на другой порт. Я мог ошибаться, но, вероятно, было бы проще использовать простой .htaccess или что-то, чтобы проверить% {HTTP_HOST} и перенаправить в соответствии с субдоменом.
Ответ 4
Если регистратор предлагает записи перенаправления URL-адресов, вы можете перенаправить sub.domain.tld
на domain.tld:subport
. Вероятно, это не даст желаемого результата в Minecraft, но он будет работать для браузеров.
например. Я запускаю Webmin и Usermin на 10000 и 20000 соответственно и использую webmin.domain.tld
и usermin.domain.tld
для перенаправления на правильный порт, чтобы пользователи не могли их запомнить.
Ответ 5
Имея только 1 IP, вы можете забыть DNS, но вы можете использовать MineProxy, потому что пакет рукопожатия клиента содержит хост, к которому он подключился, и MineProxy подготовит этот хост и прокси соединит его с сервером, зарегистрированным для этого хоста.
Ответ 6
Если вы хотите разместить несколько веб-сайтов на одном сервере в разных портах, метод, упомянутый MRVDOG, не будет работать. Поскольку браузер не разрешает записи SRV и всегда будет подключаться к порту :80
.
Например, если ваше требование:
site1.domain.com maps to domain.com:8080
site2.domain.com maps to domain.com:8081
Потому что часто вы хотите полностью использовать купленное серверное пространство.
Тогда вы можете попробовать следующее:
Шаг 1:
Установите прокси-сервер. Я буду использовать Nginx здесь.
apt-get install nginx
Шаг 2:
Отредактируйте файл /etc/nginx/nginx.conf
, чтобы добавить сопоставления портов. Для этого добавьте следующие строки:
server {
listen 80;
server_name site1.domain.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name site2.domain.com;
location / {
proxy_pass http://localhost:8081;
}
}
Это волшебство. Таким образом, файл будет выглядеть следующим образом:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
server {
listen 80;
server_name site1.domain.com;
location / {
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name site2.domain.com;
location / {
proxy_pass http://localhost:8081;
}
}
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
Шаг 3:
Запустите nginx:
/etc/init.d/nginx start
.
Всякий раз, когда вы вносите какие-либо изменения в конфигурацию, вам необходимо перезапустить nginx:
/etc/init.d/nginx restart
Наконец:
Не забудьте добавить записи в конфигурацию DNS. Все субдомены должны указывать на домен. Нравится:
![enter image description here]()
Поставьте свой статический ip вместо 111.11.111.111
Более подробная информация: