Page 1 of 1
Как ограничить прямой доступ по IP к сайту
Posted: Fri Jul 08, 2016 8:39 pm
by overdoser
Всем привет ! Может кто подскажет , как запретить доступ к сайту не по каноническому имени, а по его IP через NGINX или , на крайний, через Апача , то есть чтобы пропускало на сайт через
https://example.com , а по 1.1.1.1 выдавало запрет. Используется принудительный редирект на https .
Как по 80 порту я в курсе, в файле server_ip.conf
server {
listen server_ip:80 default;
server_name _;
#access_log /var/log/nginx/server_ip:80.log main;
location / {
proxy_pass http://server_ip:8080;
}
access_log /dev/null;
error_log /dev/null;
return 444;
}
А вот как на 443 порту ?
PS . Сайт работает через Cloudflare.
Re: Как ограничить прямой доступ по IP к сайту
Posted: Sat Jul 16, 2016 11:14 pm
by nigga2000
может через htaccess ?? я думаю наверно можно
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 8:12 am
by skurudo
Доступ по IP можно запретить, чтобы вот так не лазили.
Для этого достаточно поправить /etc/nginx/conf.d/ваш-айпи.conf
Code: Select all
server {
listen все.еще.ваш.айпи:80 default;
server_name _;
access_log /dev/null;
error_log /dev/null;
return 444;
}
return 444 можно заменить другой ошибкой 403 к примеру, по желанию.
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 10:02 am
by overdoser
Skurudo , я же написал, что на 80 порту ограничил , а через https:// или 443 ломятся все равно, как ограничить через 443 , вот в чем вопрос
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 10:30 am
by skurudo
Аналогично, добавьте еще блок:
Code: Select all
server {
listen ip:443;
server_name _;
ssl on;
ssl_certificate /home/admin/conf/web/ssl.domain.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.domain.ru.key;
access_log /dev/null;
error_log /dev/null;
return 444;
}
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 10:44 am
by overdoser
Помогите чайнику , scurudo , добавляю ниже блок как вы написали , restart и ошибка
nginx: [emerg] BIO_new_file("/home/admin/conf/web/ssl.domain.ru.pem") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/home/admin/conf/web/ssl.domain.ru.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 10:46 am
by skurudo
overdoser wrote:Помогите чайнику , scurudo , добавляю ниже блок как вы написали , restart и ошибка
Вот тут желательно указать реальные сертификаты от какого-нибудь из своих доменов:
ssl_certificate /home/admin/conf/web/ssl.domain.ru.pem;
ssl_certificate_key /home/admin/conf/web/ssl.domain.ru.key;
Re: Как ограничить прямой доступ по IP к сайту
Posted: Wed Jul 27, 2016 10:49 am
by overdoser
Простите, затупил , не админ у меня , а другой юзверь, огромнейшее спасибо
Re: Как ограничить прямой доступ по IP к сайту
Posted: Sat Apr 29, 2017 9:57 am
by sanekk85
у меня на modx в .htaccess сделано так:
Code: Select all
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^1\.1\.1\.1$
RewriteRule (.*) https://site_name.ru:8083/login/ [R=301,L]