我的服务器上正在运行一个 Java 应用程序,它会在服务器上的某个端口上创建一个页面。我能否在 Java 提供的该页面和用户首先请求密码的页面之间进行切换?
我意识到我可以通过 apache 控制的页面上的框架来做到这一点,但我希望它比这更安全。
谢谢!
答案1
由于您在问题中提到了 Apache 中的一个示例配置,因此...但是任何 Web 服务器软件(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
,这样就可以了。