
Моя цель — позволить клиенту подключаться через https
соединение, но Apache обслуживает его для моего приложения, которое работает на том же сервере через http
. Вот мой минималистичный файл конфигурации Apache (для входящих http-запросов я просто перенаправляю все запросы на https):
NameVirtualHost 1.2.3.4:443
NameVirtualHost 1.2.3.4:80
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
<VirtualHost 1.2.3.4:443>
# Admin email, Server Name (domain name) and any aliases
ServerAdmin [email protected]
ServerName abc.com
ServerAlias www.abc.com
RequestReadTimeout header=90 body=90
DocumentRoot /path/to/my/project
LogLevel warn
WSGIDaemonProcess abc_ssl processes=2 maximum-requests=500 threads=10
WSGIProcessGroup abc_ssl
WSGIScriptAlias / /path/to/my/project.wsgi
WSGIApplicationGroup %{GLOBAL}
SSLEngine on
SSLCertificateFile /home/django/.ssh/abc.crt
SSLCertificateKeyFile /home/django/.ssh/server.key
SSLCertificateChainFile /home/django/.ssh/abc.ca-bundle
RequestHeader set X-FORWARDED-SSL "on"
RequestHeader set X-FORWARDED_PROTO "https"
ProxyRequests off
ProxyPreserveHost on
<Location /stream/>
Order Allow,Deny
Allow from All
</Location>
ProxyPass /stream/ http://127.0.0.1:8001/
ProxyPassReverse /stream/ http://127.0.0.1:8001/
</VirtualHost>
Очевидно, что гуникорн бежит и слушает http://127.0.0.1:8001/
:
2013-08-31 05:05:51 [15025] [INFO] Starting gunicorn 0.17.2
2013-08-31 05:05:51 [15025] [INFO] Listening at: http://127.0.0.1:8001 (15025)
2013-08-31 05:05:51 [15025] [INFO] Using worker: eventlet
2013-08-31 05:05:51 [15044] [INFO] Booting worker with pid: 15044
2013-08-31 05:05:51 [15045] [INFO] Booting worker with pid: 15045
2013-08-31 05:05:51 [15046] [INFO] Booting worker with pid: 15046
Но в браузере я вижу только NetworkError: 404 NOT FOUND - https://abc.com/stream/
. Пожалуйста, помогите мне, я застрял, очень признателен.
решение1
Упс! Это была глупая ошибка. « ProxyPass
И» ProxyPassReverse
должно быть:
ProxyPass /stream/ http://127.0.0.1:8001/stream/ #<-- was missing /stream/ here
ProxyPassReverse /stream/ http://127.0.0.1:8001/stream/