2016-08-16 2 views
1

У меня есть сервер, к которому я могу получить доступ в браузере через доменное имя (защищенное SSL) и IP-адрес сервера.Отключить доступ браузера к IP-адресу сервера

Я хотел бы, чтобы запретить доступ с IP-адрес сервера:
http://123.45.678.901/ и https://123.45.678.901/

Как я могу сделать это?

ответ

0

OK нашел полное решение здесь через htaccess файл и 2 правила:

ПРАВИЛО 1: Перенаправление всех запросов для обеспечения HTTPS доступа (включая запрос внутрибрюшинно http://123.45.678.901)

RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://domain.com/$1 [L,R=301,QSA] 

ПРАВИЛО 2: Если домен или поддомен не являются точным доменом.ком перенаправлять оголить домен (обязательно поймать https://123.45.678.901/any-page, например)
Использование redirect all wildcard subdomains to root domain

RewriteCond %{HTTP_HOST} !^domain\.com$ [NC] 
RewriteRule (.*) https://domain.com/$1 [L,R=302,QSA] 

Все результаты тестов здесь:

http://123.45.678.901/ > now redirect to https://domain.com/ 
https://123.45.678.901/ > now redirect to https://domain.com/ 
http://123.45.678.901/any-page > 404 > https://domain.com/index.php?p=any-page 
https://123.45.678.901/any-page > 404 > https://domain.com/index.php?p=any-page 
0

Что вы пытаетесь сделать, заблокировав IP-доступ к веб-сайту? Это действительно то же самое. Мы используем только красивые имена доменов или имена хостов для людей. Если вы вводите имя домена или IP, это то же самое, что и кто-то может просто выполнить ping ваше имя хоста и получить IP-адрес в любом случае.

Если вы хотите использовать SSL, просто сделайте это для хоста, чтобы все попытки доступа требовали SSL. Вы можете использовать apache mod_rewrite для этого: https://www.sslshopper.com/apache-redirect-http-to-https.html

То, о чем вы просите, может быть невозможно, если только я не понимаю проблему правильно. Это похоже на то, что я хочу, чтобы кто-то мог отправлять почту в мой дом, используя мой адрес, но не мой почтовый индекс, когда почтовый код эффективно дает вам адрес.

В любом случае, это помогло.

0

Если вы хотите, чтобы пользователи могли получать доступ к вашему сайту (серверу) через доменное имя, при этом доступ к соответствующему IP-адресу отключен, чтобы отключить доступ к phpmyadmin через IP-адрес, это невозможно, а не хороший способ добиться того, чего вы хотите.

Грубо говоря, доменное имя является удобочитаемой и запоминающейся формой IP-адреса человека, и когда мы вводим имя домена (например, http://google.com) в браузере, доменное имя преобразуется в соответствующий IP-адрес DNS (домен сервер имен), и браузер пытается подключиться к IP-адресу, указанному DNS. В конце концов, попытка подключения через доменное имя и IP-адрес внутренне работает одинаково.

Чтобы удалить доступ phpmyadmin от других пользователей и злоумышленников, настройка управления доступом является правильным способом. Попробуйте:

  1. Используйте надежные пароли для MySQL пользователей
  2. Ограничить разрешение пользователей MySQL в соответствии с целью пользователей MySQL. (Использование пользователя root для всех целей и приложений не является хорошим способом.)

Если вы правильно настроили вышеуказанные пункты, злоумышленники не могут получить доступ к вашей базе данных, даже если они знают URL-адрес phpmyadmin.

Смежные вопросы