Назад | Перейти на главную страницу

openvpn и apache2 - разрешить сайты только через vpn

Используя ubuntu и openvpn с установленным сервером apache2, мне нужно ограничить доступ к определенному веб-сайту для клиентов, подключенных через vpn

Если я приеду https://www.myip.com/ через браузер при подключении через vpn мой ip такой же, как и у сервера.

Если я попытаюсь получить доступ к веб-сайту, используя общедоступный dns subdomain.example.com, журнал apache покажет старый общедоступный IP-адрес, отключив доступ.

Вот конфигурация виртуального хоста apache2

<VirtualHost 10.1.0.4:443>
    ServerName subdomain.example.com

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/website

    ErrorLog ${APACHE_LOG_DIR}/website_error.log
    CustomLog ${APACHE_LOG_DIR}/website_access.log combined

SSLCertificateFile /etc/letsencrypt/live/website/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/website/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

<Directory "/var/www/html/website">
Options Indexes FollowSymLinks MultiViews
       AllowOverride All
Order Deny,Allow
Deny from all
Allow from 10.1.0.1/24
</Directory>
</VirtualHost>

Учитывая, что мой общедоступный IP-адрес до подключения к vpn был IPX, а общедоступный IP-адрес после подключения (такой же, как и сервер) - IPY

Это журнал apache после попытки доступа к веб-сайту после подключения через vpn.

[Sat Jun 27 09:14:42.994222 2020] [access_compat:error] [pid 111752:tid 140305701463808] [client IPX:60374] AH01797: client denied by server configuration: /var/www/website

Если я попытаюсь зайти на 10.1.0.4 через браузер, я смогу увидеть сайт правильно. Я не хочу добавлять правило DNS / etc / hosts на клиентский компьютер.