Перехватить порт сервера для запроса пароля

На моем сервере запущено приложение 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 бинарный, и это должно сработать.

Другие вопросы по тегам