Sla*_*zev 3 ssl https mod-proxy mod-ssl apache-2.4
我在让 proxypass 在 apache 中工作时遇到问题。
我的配置文件如下:
<VirtualHost 1.2.3.4:443>
ServerName example.com
ServerAlias www.example.org
ServerAdmin info@example.org
DocumentRoot /home/admin/web/knyz.org/public_html
ScriptAlias /cgi-bin/ /home/admin/web/knyz.org/cgi-bin/
Alias /vstats/ /home/admin/web/knyz.org/stats/
Alias /error/ /home/admin/web/knyz.org/document_errors/
#SuexecUserGroup admin admin
CustomLog /var/log/apache2/domains/knyz.org.bytes bytes
CustomLog /var/log/apache2/domains/knyz.org.log combined
ErrorLog /var/log/apache2/domains/knyz.org.error.log
<Directory /home/admin/web/knyz.org/public_html>
AllowOverride All
SSLRequireSSL
Options +Includes -Indexes +ExecCGI
</Directory>
<Directory /home/admin/web/knyz.org/stats>
AllowOverride All
</Directory>
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /home/admin/conf/web/ssl.knyz.org.crt
SSLCertificateKeyFile /home/admin/conf/web/ssl.knyz.org.key
SSLCertificateChainFile /home/admin/conf/web/ssl.knyz.org.ca
<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
RGroups www-data
</IfModule>
<IfModule itk.c>
AssignUserID admin admin
</IfModule>
IncludeOptional /home/admin/conf/web/sapache2.knyz.org.conf*
##ISSUE IS HERE!!!
<Location /admin>
ProxyPass https://localhost:8083
ProxyPassReverse https://localhost:8083
</Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
期望结果:访问/admin子目录时将显示来自 localhost 8083 端口的页面。
实际结果:错误 500
问题似乎与此处相同:Apache ProxyPass with SSL
除了解决方案对我不起作用。
尝试这样做时,我在重新启动 apache 时收到以下错误:
SSLProxyEngine not allowed here
从错误日志(关于错误 500):
[Sun Dec 13 21:33:31.062959 2015] [ssl:error] [pid 1181] [remote 127.0.0.1:8083] AH01961: SSL Proxy requested for example.org:443 but not enabled [Hint: SSLProxyEngine]
[Sun Dec 13 21:33:31.063033 2015] [proxy:error] [pid 1181] AH00961: HTTPS: failed to enable ssl support for 127.0.0.1:8083 (localhost)
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我用以下内容替换了位置块
ProxyPreserveHost On
ProxyPass /blog http://127.0.0.1:2368/blog
ProxyPassReverse /blog http://127.0.0.1:2368/blog
ProxyPass /admin https://127.0.0.1:8083
ProxyPassReverse /admin https://127.0.0.1:8083
Run Code Online (Sandbox Code Playgroud)
现在/blog工作正常,但/admin没有。这意味着问题肯定出在 SSL 上。
据我所知,ProxyPass 并不打算在一个块内使用 - 你在一个<Location>块中使用它。它需要在那个块之外,你也需要打开SSLProxyEngine:
SSLProxyEngine On
ProxyPass /admin https://localhost:8083/
ProxyPassReverse /admin https://localhost:8083/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16546 次 |
| 最近记录: |