我理解这个主题在几篇较旧的帖子中进行了讨论,特别 是自签名证书是否会在Apache反向代理之后工作?由@Ryan发布
我面临同样的问题,但无法绕过它.我在Apache HTTP服务器前面将Apache 2.4.12设置为反向代理.我在代理服务器上有有效的证书,但在Oracle HTTP服务器上有自签名的证书.目标是一直执行https,但是每当浏览器到达myhost.domain时,它都会抛出一个证书警告(因为自签名证书).在Oracle HTTP服务器上拥有正式证书不是一种选择,用户浏览器受到限制,因此无法忽略自签名证书警告.
这是我的虚拟主机
LogLevel ERROR
ServerName myhost.domain
ServerAlias xxx.xxx.xxx.xx
DocumentRoot D:/xyz/pubdocs
SSLEngine On
SSLProxyEngine On
SSLCertificateFile certs/myserver.crt
SSLCertificateKeyFile certs/myserver.key
SSLCertificateChainFile certs/myserver_chain.crt
SSLProxyCACertificateFile certs/my_self_signed.pem
SSLProxyVerify none
SSLProxyCheckPeerName off
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off
SSLProtocol -all +TLSv1
SSLProxyProtocol +SSLv3 +TLSv1 +TLSv1.1
#SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:!NULL:RC4+RSA:+HIGH:+MEDIUM
ErrorLog "logs/abc-error.log"
CustomLog "logs/abc-access.log" cert
ProxyRequests Off
# IE compatibility
Header set X-UA-Compatible "IE=EmulateIE8"
# Prevent page from being loaded within an IFrame (Cross-Frame Scripting protection)
Header always append X-Frame-Options SAMEORIGIN
# Prevent mime sniffing exploint ; disabled breaks PEM Popup image rendering
# Header set X-Content-Type-Options: nosniff
# Disable caching
Header set Cache-Control "no-cache, must-revalidate, private"
# Enable X-XSS-Protection
Header set X-XSS-Protection: "1; mode=block"
ProxyPass / https://myhost.domain/
ProxyPassReverse / https://myhost.domain/
Run Code Online (Sandbox Code Playgroud)
似乎使用以下指令适用于许多人,但似乎并不适合我
SSLProxyVerify无
SSLProxyCheckPeerName关闭
SSLProxyCheckPeerCN关闭
SSLProxyCheckPeerExpire off
还有什么我想念的吗?
任何帮助表示赞赏.
谢谢,拉吉
小智 -3
看来该错误并不完全与代理有关。配置并不完全清楚。我假设有以下三台机器:
- “笔记本电脑”-你
- 'proxy' - 带有您的conf的apache正在运行
- 'oracle' - 带有任意网络服务器
我还假设所有 DNS 域都针对“代理”,其余机器均通过 IP 地址访问。
您从浏览器看到的认证路径仅在“笔记本电脑”和“代理”之间。如果您在浏览器中看到无效的证书,则意味着“代理”无法对“笔记本电脑”进行身份验证。如果“oracle”无法向“proxy”标识自身,则连接将彻底失败,并抛出 502 错误。
那么现在,下一步该做什么:
- 从浏览器检查证书。看看是谁的证书。
- 如果它来自“oracle”,则意味着您根本没有代理该请求。确保您的 DNS 记录针对“代理”计算机。
- 如果它来自“代理”,但浏览器抛出错误的 CN,您需要创建还包含“oracle”域的证书并将其放在“代理”计算机上。
如果这些都不起作用,请尝试调查以下场景在何时失败:
- 笔记本电脑向 DNS 请求“oracle.domain.com”
- DNS 返回“代理”计算机的 IP 地址并发送请求。
- “proxy”向您验证作为“oracle.domain.com”服务提供商的身份
- 此时您会在浏览器中看到一个绿色的锁图标。
- “代理”机器解析“oracle”的 IP 地址并发送请求。
- “oracle”使用自签名证书向“proxy”进行身份验证
- 内容通过“代理”从“oracle”返回给您。
另外,您应该包含“ SSLProxyVerify require”以使您的配置至少有点安全。
| 归档时间: |
|
| 查看次数: |
8893 次 |
| 最近记录: |