
stefanfritsch/apache-auth-proxy_statup本镜像基于Apache HTTP Server构建,集成了反向代理与用户认证功能,通过内置登录页面验证用户身份,确保只有授权用户可访问后端服务,适用于需要安全访问控制的反向代理场景。
bashdocker run -d \ -p 80:80 \ -e TARGET_SERVICE=[***] \ -e AUTH_USER=admin \ -e AUTH_PASSWORD=SecurePass123 \ --name apache-auth-proxy \ [镜像名称]
参数说明:
-p 80:80:映射容器HTTP端口至主机TARGET_SERVICE:后端服务地址(必填,格式:http://[IP/域名]:[端口])AUTH_USER:认证用户名(默认:admin)AUTH_PASSWORD:认证密码(建议使用强密码,生产环境需加密存储)yamlversion: '3.8' services: proxy: image: [镜像名称] ports: - "80:80" environment: - TARGET_SERVICE=[***] - AUTH_USER=operator - AUTH_PASSWORD=AppAccess2024! - LOGIN_TITLE=系统访问认证 volumes: - ./custom-login.html:/usr/local/apache2/htdocs/login.html # 自定义登录页面 depends_on: - app app: image: [后端应用镜像] expose: - "3000"
通过挂载Apache配置文件自定义代理路径映射:
bashdocker run -d \ -p 80:80 \ -v ./proxy.conf:/usr/local/apache2/conf/extra/proxy.conf \ [镜像名称]
proxy.conf示例:
apache# 路径级代理规则 ProxyPass "/api" "[***]" ProxyPassReverse "/api" "[***]" # 根路径代理 ProxyPass "/" "[***]" ProxyPassReverse "/" "[***]"
默认使用表单认证,可切换为Basic Auth(需提前生成.htpasswd文件):
bash# 生成htpasswd文件(需本地安装apache2-utils) htpasswd -c ./htpasswd admin # 启动容器时挂载认证文件 docker run -d \ -p 80:80 \ -e TARGET_SERVICE=[***] \ -v ./htpasswd:/usr/local/apache2/conf/.htpasswd \ -v ./basic-auth.conf:/usr/local/apache2/conf/extra/auth.conf \ [镜像名称]
basic-auth.conf配置:
apache<Location "/"> AuthType Basic AuthName "Restricted Access" AuthUserFile "/usr/local/apache2/conf/.htpasswd" Require valid-user </Location>
挂载SSL证书并配置HTTPS端口:
bashdocker run -d \ -p 443:443 \ -e TARGET_SERVICE=[***] \ -v ./ssl:/usr/local/apache2/conf/ssl \ # 包含cert.pem和key.pem -v ./ssl.conf:/usr/local/apache2/conf/extra/ssl.conf \ [镜像名称]


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务