.htaccess: Разрешить все подключения из локальной сети, но требовать входа в систему для внешней

NB: Это не дубликат, поскольку отмеченный пост касается более старых версий apache. Я безуспешно пробовал решения в этом потоке, а также тот, который должен работать в более поздних версиях.

Есть несколько вопросов и ответов, которые касаются его частей, но я не нашел именно такой ситуации .

У меня есть веб-сайт, к которому я хочу сделать открытый доступ из моей сети 10.0.0.0. Но при доступе к нему через внешний адрес, перенаправленный в роутере - хочу. htaccess, чтобы требовать логин.

Я знаю, как запрашивать пароль для всех подключений, и у меня есть идея разрешить / запретить определенный адрес или IP. Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с логином.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ:

Я знаю, как запрашивать пароль для всех подключений, и у меня есть идея разрешить / запретить определенный адрес или IP. Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ:

Я знаю, как запрашивать пароль для всех подключений, и у меня есть идея разрешить / запретить определенный адрес или IP. Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждается, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

Для указанного выше файла .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: и у меня есть идея разрешить / запретить конкретный адрес или IP. Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены как внешний, так и LAN-адреса)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а локальная сеть - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: и у меня есть идея разрешить / запретить конкретный адрес или IP. Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с логином.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: Но я хочу, чтобы ВСЕ IP-адреса, которые не находятся в локальной сети, нуждались в логине / пароле.

Обновление: Apache2 версии 2.2.22

Вот что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен , период. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: s что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

Для указанного выше файла .htaccess доступ через внешний адрес запрещен, точка. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход в систему.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с входом.

Попытка сузить проблему:

Это не работает : (разрешены оба внешних адреса и LAN)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а LAN - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: s что происходит, когда я пробую решение из ответа, который, как утверждают, является дубликатом:

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.44
Satisfy All

В указанном выше файле .htaccess доступ через внешний адрес запрещен, точка. Нет запроса на вход. С определенного локального IP-адреса (.44) я получаю запрос на вход.

AuthName "Authenticate"
AuthType Basic
AuthUserFile "/home/frank/.htpassword"
Require valid-user
Order allow,deny
Allow from 10.0.0.0/8
Satisfy All

С вышеупомянутым, как внешние, так и внутренние соединения запрашиваются с логином.

Попытка сузить проблему:

Это не работает : (разрешены как внешний, так и LAN-адреса)

Order Deny,Allow
Deny from all
Allow from 10.0.0.0/8

Это работает: (внешний адрес получает отказ в доступе, а локальная сеть - нет)

Order Deny,Allow
Deny from all
Allow from 10.0.0.44

ОБНОВЛЕНИЕ: Не упустил ли я здесь чего-то принципиального?

Когда я пробую это:

Order Deny,Allow
Deny from all

Все запрещено, как из локальной сети, так и из внешнего адреса.

Однако, когда я пытаюсь сделать это:

Order Deny,Allow
Allow from 127.0.0.1

Все разрешено, как из LAN и внешний адрес.

Проблема в том, как я пытаюсь получить доступ с вечного адреса? Сервер имен домена mydomain.no указывает на маршрутизатор. Я перенаправил домен mydomain.no на виртуальные серверы маршрутизатора. Трафик через порт 80 направляется на сервер, на котором выполняется установка apache2. Я хочу, чтобы весь трафик, приходящий через адрес mydomain.no (и любые другие домены, перенаправленные на тот же сервер) требовал пароля. Для трафика из локальной сети пароль не требуется. Я получаю ошибку 500 при открытии страницы, но когда я смотрю журнал ошибок, я ничего не вижу в этой ошибке. Я думаю, что каждые 500 ошибок во внешнем интерфейсе нужно где-то записывать, верно? ...

Рассказ: Я получаю ошибку 500 при открытии страницы, но когда я смотрю журнал ошибок, я ничего не вижу в этой ошибке. Я думаю, что каждые 500 ошибок во внешнем интерфейсе нужно где-то записывать, верно? Если да, то где может быть журнал ошибок?

Полная версия: Я обновляю свой сайт Joomla с 3.6.2 до 3.6.5. Это обновление системы безопасности, и ранее этот сайт был взломан из-за того, что обновление не было выполнено вовремя. На сервере моего веб-сайта, когда я нажимаю «установить обновление», я получаю страницу 500. Я разместил свой веб-сайт на Linode (Ubuntu 14.04) и использую webmin / virtualmin для управления сервером. Для других сайтов, которые размещены на том же компьютере с такими же настройками, если я получаю ошибку 500, я могу просто посмотреть журнал ошибок apache из интерфейса webmin, и я подумал, что именно здесь возникают все ошибки apache / php записано. Но на этот раз в журнале ошибок ничего нет. Поэтому мне интересно, есть ли какая-нибудь ошибка 500, которую нельзя записать в журнал? А может, эта ошибка была записана где-то еще? Как мне найти журнал?

0
задан 17 March 2017 в 19:35
1 ответ

По умолчанию путь к папке журнала Joomla имеет вид /журналы . Если вы установили Joomla 3 на /home/username/public_html/joomla, то папка журнала будет установлена на /home/username/public_html/joomla/logs.

Чтобы найти, где хранятся ваши журналы Joomla, вы можете попробовать следующее:

  1. Log into your Joomla 3. 0 администраторская панель управления
  2. В левом меню перейдите в Глобальную конфигурацию
  3. Щелкните системную закладку
  4. Под заголовком System Settings вы должны найти значение 'Path to Log Folder' (Путь к папке журнала)

Вот полезная статья, содержащая более подробную информацию об отправке отчетов об ошибках в Joomla: Отчет об ошибках Joomla: Explained.

Для Apache и PHP в Ubuntu, по умолчанию лог расположен по адресу /var/log/apache2/error.log. Это можно подтвердить или изменить в файле /etc/php5/apache2/php.ini.

Вы можете следить за обновлением лога ошибок Apache в режиме реального времени, запустив sudo tail -f /var/log/apache2/error.log.

.
4
ответ дан 4 December 2019 в 11:44

Теги

Похожие вопросы