Перехватить порт сервера для запроса пароля
На моем сервере запущено приложение Java, которое создает страницу на определенном порту сервера. Можно ли как-нибудь посидеть посреди этой страницы, обслуживаемой Java, и пользователь сначала запросит пароль?
Я понимаю, что могу сделать это с помощью фрейма на странице, которой я управляю через Apache, но я хочу, чтобы она была более безопасной, чем эта.
Спасибо!
1 ответ
Решение
Пример конфигурации в Apache, поскольку вы упомянули об этом в своем вопросе... но любое старое программное обеспечение веб-сервера (nginx, lighttpd) должно работать - дайте мне знать, если вы предпочитаете один из других.
Скажем, вы переключили приложение Java для прослушивания 127.0.0.1:8000
,
# I'm making this a port 443 example because basic authentication
# is completely unencrypted - if the credentials are sensitive at all,
# you should be using SSL. Change the port and drop the SSL directives if needed.
<VirtualHost *:443>
ServerName example.com
SSLEngine On
SSLCertificateFile /path/to/public.pem
SSLCertificateKeyFile /path/to/private.key
<Location />
AuthType Basic
AuthName "Message Here"
AuthBasicProvider file
AuthUserFile /path/to/password/file # Keep this outside of the web root.
Require valid-user
ProxyPass http://127.0.0.1:8000/
ProxyPassReverse http://127.0.0.1:8000/
</Location>
</VirtualHost>
Создайте файл паролей с помощью htpasswd
бинарный, и это должно сработать.