Я пытаюсь настроить DNS MASK для маршрутизации по локальной сети следующим образом: client requests https//example.com:4430 был направлен на server https://192.168.1.80:443

DNS маска работает на сервере

Я указываю своему клиенту на DNS 8.8.8.8 и пытаюсь получить доступ к https//example.com:4430

на моем сервере /etc/dnsmasq.conf

interface=eth0
domain-needed         
bogus-priv            
no-poll              
no-resolv             
cache-size=150 
server=8.8.8.8
address=/example.com/192.168.1.80 

мой сервер /etc/hosts/

127.0.0.1 localhost
127.0.1.1 cloud
example.com

мой сервер apache conf файл

<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
  DocumentRoot /var/www/nextcloud
  CustomLog /var/log/apache2/nc-access.log combined
  ErrorLog  /var/log/apache2/nc-error.log
  SSLEngine on
  SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
 </VirtualHost>
 <Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All
 <IfModule mod_dav.c>
  Dav off
 </IfModule>
  LimitRequestBody 0
  SSLRenegBufferSize 10486000
 </Directory>
</IfModule>

<IfModule mod_ssl.c>
 <VirtualHost *:4430>
  DocumentRoot /var/www/nextcloud
  CustomLog /var/log/apache2/nc-access.log combined
  ErrorLog  /var/log/apache2/nc-error.log
  SSLEngine on
  SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
 </VirtualHost>
 <Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All
 <IfModule mod_dav.c>
  Dav off
 </IfModule>
 LimitRequestBody 0
 SSLRenegBufferSize 10486000
 </Directory>
</IfModule>

1 ответ1

2

Чтобы использовать ваш экземпляр dnsmasq вы должны сделать так, чтобы ваш клиент указывал на ваш сервер, а не на 8.8.8.8 (или делал DNAT на клиентском маршрутизаторе).

DNS недостаточно для того, чтобы делать то, что вы хотите (перенаправить https//example.com:4430 на https://192.168.1.80:443), потому что DNS может "изменить" адрес, но не может "изменить" порт. Так что ваш * virtualhost *:4430 должен ответить перенаправлением на порт 443 , чтобы он заработал.

Альтернативой этому является просто выполнить DNAT на клиентском маршрутизаторе natting example_ip:4430 to server_ip:443 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .