Включаем модули mod_ssl и mod_headers :
$ sudo a2enmod ssl
$ sudo a2enmod headers
Добавляем конфиг SSL Virtual Host:
$ sudo a2ensite default-ssl
Включаем модули mod_ssl и mod_headers :
$ sudo a2enmod ssl
$ sudo a2enmod headers
Добавляем конфиг SSL Virtual Host:
$ sudo a2ensite default-ssl
apt install libapache2-mod-geoip
/etc/apache2/mods-available/geoip.conf :
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>
Проверка:
<?php
print_r($_SERVER);
?>
<html>
<body>
<?php
$country_name = apache_note("GEOIP_COUNTRY_NAME");
print "Country: " . $country_name;
?>
</body>
</html>
Запрет доступа к сайту через .htaccess :
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^UA$
RewriteRule .* – [F]
Данный пример закрывает доступ к сайту с Украины
Все, кроме РФ вот (восклицательный знак - знак отрицания в данном случае):
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^!RU$
RewriteRule .* – [F]
Но с таким подходом, кстати, вы закроете доступ к сайту и для Google Bot, который Mountain View, United States
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName cherry.com
ServerAlias www.cherry.com reverse-proxy.cloud.cherryservers.net
ServerAdmin mantas.levinas@cherryserers.com
ErrorLog ${APACHE_LOG_DIR}/erro.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ProxyRequests Off
SSLCertificateFile /etc/letsencrypt/live/reverse-proxy.cloud.cherryservers.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/reverse-proxy.cloud.cherryservers.net/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
cmd>diskpart
>list disk
>select disk 0
>attributes disk clear readonly
~/.ssh/rc