LINUX.ORG.RU
ФорумAdmin

Домен для virtualbox

 


1

1

Всем привет Есть сервер на Ubuntu, с внешним интернетом и раздачей его во внутреннюю сеть через arnoiptables На сервере крутятся разные сайты на hestiacp

Появилась потребность создать виртуальную машину с привязкой к ней отдельного домена режим nat с пробросом портов это не то я так понимаю режим моста то же не то тк к внешнему интерфейсу я не могу привязаться, а если к внутреннему то уже надо перенаправлять как то домен изменение файла hosts как я понял уже устарело и не работает хотя я и попробовал, сейчас виртуалка в режиме моста во внутренней сети hosts писал так 192.168.0.10 domain.com и домен все равно попадает на основной сервер излазив яндекс решения не нашел, помогите кто разбирается Спасибо


И hosts и все остальные способы настраивания доменов - это справочник для превращения текстовых имён в айпи-адреса. Ни про какие виртуалки эта система не знает, да и вообще ей совершенно всё равно, чьи это адреса и существуют ли они на самом деле. У неё ровно одна задача: когда кто-то спросит «какой адрес у domain.com» ответить ему «192.168.0.10» - и на этом всё. Кто и зачем спрашивает, и что он дальше будет делать с этой информацией - совершенно не имеет значения.

А теперь объясни, что ты имел ввиду под словами «привязать домен к виртуалке».

firkax ★★★★★
()
Ответ на: комментарий от firkax

перенаправить один из доменов на виртуалку

На сервере с десяток доменов на нем же виртуальная машина, один из доменов должен перенаправляться на виртуальную машину, надеюсь так понятнее

kuper
() автор топика
Последнее исправление: kuper (всего исправлений: 1)
Ответ на: комментарий от Dimez

proxy_pass не перезапускается никс если указываю IP виртуалки

Хотя может поторопился, попробую так

server { listen 188.0.0.183:443 ssl; server_name вася www.вася; error_log /var/log/apache2/domains/вася.error.log error;

ssl_certificate     /home/radio/conf/web/вася/ssl/вася.pem;
ssl_certificate_key /home/radio/conf/web/вася/ssl/вася.key;
ssl_stapling        on;
ssl_stapling_verify on;

# TLS 1.3 0-RTT anti-replay
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
if ($anti_replay = 425) { return 425; }

include /home/radio/conf/web/вася/nginx.hsts.conf*;

location ~ /\.(?!well-known\/|file) {
	deny all;
	return 404;
}

location / {
	proxy_pass https://192.168.0.10:8443;

	location ~* ^.+\.(css|htm|html|js|mjs|json|xml|apng|avif|bmp|cur|gif|ico|jfif|jpg|jpeg|pjp|pjpeg|png|svg|tif|tiff|webp|aac|caf|flac|m4a|midi|mp3|ogg|opus|wav|3gp|av1|avi|m4v|mkv|mov|mpg|mpeg|mp4|mp4v|webm|otf|ttf|woff|woff2|doc|docx|odf|odp|ods|odt|pdf|ppt|pptx|rtf|txt|xls|xlsx|7z|bz2|gz|rar|tar|tgz|zip|apk|appx|bin|dmg|exe|img|iso|jar|msi|webmanifest)$ {
		try_files  $uri @fallback;

		root       /home/radio/web/вася/public_html;
		access_log /var/log/apache2/domains/вася.log combined;
		access_log /var/log/apache2/domains/вася.bytes bytes;

		expires    max;
	}
}

location @fallback {
	proxy_pass https://192.168.0.10:8443;
}

location /error/ {
	alias /home/radio/web/вася/document_errors/;
}

proxy_hide_header Upgrade;

include /home/radio/conf/web/вася/nginx.ssl.conf_*;

}

kuper
() автор топика
Последнее исправление: kuper (всего исправлений: 1)
Ответ на: комментарий от kuper

Смотри логи. Сначала на сервере, потом в виртуалке.

З.ы. вот эта конструкция со статикой, try_files и @fallback не нужна

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 1)
Ответ на: комментарий от cobold

убирал, надо посмотреть в других файлах настроек эти пути до папок

ngnix [emerg] 56244#56244: bind() to 192.168.0.10:80 failed (99: Cannot assign requested address)

*6 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.0.50, server: вася.ru, request: «GET / HTTP/2.0», upstream: «https://192.168.0.10:8443/», host: «вася.ru»

если на серваке в браузере ввести ип то попадаю куда надо, а вот домен увы

kuper
() автор топика
Ответ на: комментарий от kuper

сделайте сначала простой проброс, как только научитесь пробрасывать plain http, начните пробрасывать https на :8443

server {
    listen 80;
    server_name x.x.x.x.nip.io; # здесь вставьте внутренний адрес хоста виртуализации, если он 192.168.0.5 то должно получиться: 192.168.0.5.nip.io 

    location / {
        proxy_pass http://192.168.0.10:8080;
    }
}

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)
Ответ на: комментарий от kuper

bind() to 192.168.0.10:80 failed (99: Cannot assign requested address)

Connection refused) while connecting to upstream

nginx не может соединиться с апстримом, крути файрвол.

Dimez ★★★★★
()
Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от gagarin0

На самом деле перенаправить оказалось проще через настройки панели управления хостингом, причем я это видел, 301 редирект

return 301 https://192.168.0.10$request_uri;

хотя я не уверен что 301 или 302 это правильно

kuper
() автор топика
Ответ на: комментарий от kuper

я предлагаю вам сделать две вещи после каждого изменения к сообещиню прикреплять конфигурацию виртуального хоста, иначе нам придется «гадать» по интернету

вот в адресной строке вместо адреса уже IP

proxy_pass

начните с простого, чтобы заработала эта схема, без https

Домен для virtualbox (комментарий)

gagarin0
()
Ответ на: комментарий от gagarin0

Ну собственно заработало

server { listen 188.0.0.1:80; server_name вася.ru www.вася.ru; error_log /var/log/apache2/domains/вася.ru.error.log error;

include /home/att/conf/web/вася.ru/nginx.forcessl.conf*;

location ~ /\.(?!well-known\/|file) {
	deny all;
	return 404;
}

location / {
	proxy_pass http://192.168.0.20:80;

	location ~* ^.+\.(css|htm|html|js|mjs|json|xml|apng|avif|bmp|cur|gif|ico|jfif|jpg|jpeg|pjp|pjpeg|png|svg|tif|tiff|webp|aac|caf|flac|m4a|midi|mp3|ogg|opus|wav|3gp|av1|avi|m4v|mkv|mov|mpg|mpeg|mp4|mp4v|webm|otf|ttf|woff|woff2|doc|docx|odf|odp|ods|odt|pdf|ppt|pptx|rtf|txt|xls|xlsx|7z|bz2|gz|rar|tar|tgz|zip|apk|appx|bin|dmg|exe|img|iso|jar|msi|webmanifest)$ {
		try_files  $uri @fallback;



		expires    max;
	}
}

location @fallback {
	proxy_pass http://192.168.0.20:80;
}

location /error/ {
	alias /home/att/web/вася.ru/document_errors/;
}

include /home/att/conf/web/вася.ru/nginx.conf_*;

}

ошибка была в том что на сервере порт 80 перекидывается на 8080 а мне то надо 80, с полуночных глаз не обратил внимание

ну и ssl аналогично

можно было бы попробовать днс перекинуть но у меня провайдер блокирует порты днс

kuper
() автор топика
Ответ на: комментарий от gagarin0

спасибо всем

ах да прикол тот же webmin на 10000 порту у меня сертификат на него не распространялся, уже давно влом заняться этим, а тут заработал сертификат на этом порту у виртуальной машины, пойду и на сервер пропишу

kuper
() автор топика
Ответ на: комментарий от kuper

Если из внешнего мира и есть уже веб сервер с пробегом на него 443 / 80 порта настаиваешь на нем проксирование доменного имени на ip адрес твоей виртуалки.

Если сайт всего один - можешь пробросить порты на шлюзе / роутере. Если внешний шлюз не является шлюзом для виртуалки в этом случае делаешь не только dnat, но и snat.

Если нужен доступ только в локальной сети - прописывает в hosts тех систем, с которых нужен доступ.

kostik87 ★★★★★
()