私のdjangoアプリ(私はそれと呼びますpartlysecureapp
)には、すべての人に表示されるインデックスページがあります。他のすべてのページ(インデックスページのリンクからアクセス可能)には、ユーザーがログインする必要があります。apache2でSSLを使用してアプリを使用したいと思います。
私はすでにmysecureapp
SSLを使用してApacheにデプロイされたアプリ(たとえば)を持っています。このアプリには、ユーザーによるログインが必要なすべてのページがあります。このための構成を次のように設定しました。
私のapache2は/etc/apache2
、次のディレクトリ構造を持っています。
/etc/apache2/
|--conf.d---*charset,security,localized-error-pages*
|---mods-available---...
|---mods-enabled---...
|---sites-available---default,default-ssl,ssl
|---sites-enabled---shortcut to ssl
|---apach2.conf
|---httpd.conf
|---ports.conf
|---magic
|---envvars
についてはsecureapp
、これをファイルに設定しましたsites-available/ssl
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /home/dev/python/django/mysecureapp
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
...
WSGIScriptAlias /mysecureapp /home/dev/python/django/mysecureapp/mysecureapp.wsgi
Alias /site_media/ /home/dev/python/django/mysecureapp/media/
</VirtualHost>
これは完全に機能します。
私をデプロイするにはpartlysecureapp
、
http://127.0.0.1:8080/partlysecureapp/
すべての人がアクセスできるインデックスページを表示する必要があります。しかし
../partlysecureapp/link1/
../partlysecureapp/link2/
../partlysecureapp/link3/
ログインが必要であり、SSLを介して提供する必要があります。
私は、私のために別のものを追加する必要があると思いWSGIScriptAlias
ますpartlysecureapp
。DocumentRoot
のために別のものを追加する必要がありpartlysecureapp
ますか?8080
sslポートを介してポートなどからインデックスページを提供するようにapacheに指示するにはどうすればよいですか?
現在のところ、/etc/apache2/httpd.conf
は空白です。sites-available/ssl
ファイルだけにVirtualHost
要素があります。