首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache反向代理到需要BasicAuth但想要从用户隐藏它的端点

Apache反向代理到需要BasicAuth但想要从用户隐藏它的端点,可以使用Apache的mod_proxy和mod_rewrite模块实现。

首先,需要在Apache的配置文件中启用mod_proxy和mod_rewrite模块。可以在httpd.conf文件中添加以下两行代码:

代码语言:txt
复制
LoadModule proxy_module modules/mod_proxy.so
LoadModule rewrite_module modules/mod_rewrite.so

接下来,在Apache的配置文件中添加以下代码:

代码语言:<Location /path/to/protected/endpoint>
复制
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /path/to/password/file
    Require valid-user

    RewriteEngine on
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

    ProxyPass http://backend-server/path/to/protected/endpoint
    ProxyPassReverse http://backend-server/path/to/protected/endpoint
</Location>

在上面的代码中,/path/to/protected/endpoint是需要BasicAuth的端点,/path/to/password/file是存储用户名和密码的文件路径。

RewriteCond和RewriteRule用于将HTTP请求头中的Authorization信息传递给后端服务器。

最后,使用ProxyPass和ProxyPassReverse指令将请求代理到后端服务器。

这样,当用户访问/path/to/protected/endpoint时,就会被要求输入用户名和密码,并且用户输入的用户名和密码会被传递给后端服务器进行验证。同时,用户不需要在URL中看到BasicAuth的用户名和密码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券