403禁止在apache2上使用带有https的mod_wsgi-express

时间:2018-09-08 15:40:43

标签: django apache mod-wsgi mod-wsgi-express

我正在使用以下命令为我的Django项目启动mod_wsgi-express:

mod_wsgi-express start-server --log-to-terminal --startup-log --https-port 443 --server-name example.com --ssl-certificate-file ssl-certs/cert.pem --ssl-certificate-key-file ssl-certs/privkey.pem --user www-data --group www-data --host example.com

加载https://example.com/时,出现403禁止错误:You don't have permission to access / on this server.

终端显示以下行:

root@localhost:/home/joel/new/myappointments# mod_wsgi-express start-server --log-to-terminal --startup-log --https-port 443 --server-name example.com --ssl-certificate-file ssl-certs/cert.pem --ssl-certificate-key-file ssl-certs/privkey.pem --user www-data --group www-data --host example.com
Server URL         : http://example.com:8000/
Server URL (HTTPS) : https://example.com/
Server Root        : /tmp/mod_wsgi-example.com:8000:0
Server Conf        : /tmp/mod_wsgi-example.com:8000:0/httpd.conf
Error Log File     : /dev/stderr (warn)
Startup Log File   : /dev/stderr
Request Capacity   : 5 (1 process * 5 threads)
Request Timeout    : 60 (seconds)
Startup Timeout    : 15 (seconds)
Queue Backlog      : 100 (connections)
Queue Timeout      : 45 (seconds)
Server Capacity    : 20 (event/worker), 20 (prefork)
Server Backlog     : 500 (connections)
Locale Setting     : en_US.UTF-8
[Sat Sep 08 20:51:37.800732 2018] [ssl:warn] [pid 5130:tid 140248589061056] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
[Sat Sep 08 20:51:37.803786 2018] [mpm_event:notice] [pid 5130:tid 140248589061056] AH00489: Apache/2.4.29 (Ubuntu) mod_wsgi/4.6.4 Python/3.6 OpenSSL/1.1.0g configured -- resuming normal operations
[Sat Sep 08 20:51:37.804264 2018] [core:notice] [pid 5130:tid 140248589061056] AH00094: Command line: 'apache2 (mod_wsgi-express) -f /tmp/mod_wsgi-example.com:8000:0/httpd.conf -E /dev/stderr -D MOD_WSGI_VIRTUAL_HOST -D MOD_WSGI_WITH_HTTPS -D MOD_WSGI_WITH_LISTENER_HOST -D MOD_WSGI_MPM_ENABLE_EVENT_MODULE -D MOD_WSGI_MPM_EXISTS_EVENT_MODULE -D MOD_WSGI_MPM_EXISTS_WORKER_MODULE -D MOD_WSGI_MPM_EXISTS_PREFORK_MODULE -D FOREGROUND'
[Sat Sep 08 20:51:44.573958 2018] [authz_core:error] [pid 5133:tid 140248492054272] [client 62.58.165.208:33302] AH01630: client denied by server configuration: /tmp/mod_wsgi-example.com:8000:0/htdocs/
[Sat Sep 08 20:51:45.084675 2018] [authz_core:error] [pid 5133:tid 140248491788032] [client 72.68.14.235:62556] AH01630: client denied by server configuration: /tmp/mod_wsgi-example.com:8000:0/htdocs/favicon.ico, referer: https://example.com/

生成的conf /tmp/mod_wsgi-example.com:8000:0/httpd.conf显示:

<IfModule !version_module>
LoadModule version_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_version.so'
</IfModule>


ServerName example.com
ServerRoot '/tmp/mod_wsgi-example.com:8000:0'
PidFile '/tmp/mod_wsgi-example.com:8000:0/httpd.pid'


<IfVersion >= 2.4>
DefaultRuntimeDir '/tmp/mod_wsgi-example.com:8000:0'
</IfVersion>


ServerTokens ProductOnly
ServerSignature Off


User ${MOD_WSGI_USER}
Group ${MOD_WSGI_GROUP}


<IfDefine MOD_WSGI_WITH_LISTENER_HOST>
Listen example.com:8000
</IfDefine>
<IfDefine !MOD_WSGI_WITH_LISTENER_HOST>
Listen 8000
</IfDefine>


<IfVersion < 2.4>
LockFile '/tmp/mod_wsgi-example.com:8000:0/accept.lock'
</IfVersion>


<IfVersion >= 2.4>
<IfDefine MOD_WSGI_WITH_PHP5>
<IfModule !mpm_event_module>
<IfModule !mpm_worker_module>
<IfModule !mpm_prefork_module>
<IfDefine MOD_WSGI_MPM_EXISTS_PREFORK_MODULE>
LoadModule mpm_prefork_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_prefork.so'
</IfDefine>
</IfModule>
</IfModule>
</IfModule>
</IfDefine>
</IfVersion>


<IfVersion >= 2.4>
<IfModule !mpm_event_module>
<IfModule !mpm_worker_module>
<IfModule !mpm_prefork_module>
<IfDefine MOD_WSGI_MPM_ENABLE_EVENT_MODULE>
LoadModule mpm_event_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_event.so'
</IfDefine>
<IfDefine MOD_WSGI_MPM_ENABLE_WORKER_MODULE>
LoadModule mpm_worker_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_worker.so'
</IfDefine>
<IfDefine MOD_WSGI_MPM_ENABLE_PREFORK_MODULE>
LoadModule mpm_prefork_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mpm_prefork.so'
</IfDefine>
</IfModule>
</IfModule>
</IfModule>
</IfVersion>


<IfDefine MOD_WSGI_WITH_HTTP2>
LoadModule http2_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_http2.so'
</IfDefine>


<IfVersion >= 2.4>
<IfModule !access_compat_module>
LoadModule access_compat_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_access_compat.so'
</IfModule>
<IfModule !unixd_module>
LoadModule unixd_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_unixd.so'
</IfModule>
<IfModule !authn_core_module>
LoadModule authn_core_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_authn_core.so'
</IfModule>
<IfModule !authz_core_module>
LoadModule authz_core_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_core.so'
</IfModule>
</IfVersion>


<IfModule !authz_host_module>
LoadModule authz_host_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_host.so'
</IfModule>
<IfModule !mime_module>
LoadModule mime_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_mime.so'
</IfModule>
<IfModule !rewrite_module>
LoadModule rewrite_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_rewrite.so'
</IfModule>
<IfModule !alias_module>
LoadModule alias_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_alias.so'
</IfModule>
<IfModule !dir_module>
LoadModule dir_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_dir.so'
</IfModule>
<IfModule !env_module>
LoadModule env_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_env.so'
</IfModule>
<IfModule !headers_module>
LoadModule headers_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_headers.so'
</IfModule>
<IfModule !filter_module>
LoadModule filter_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_filter.so'
</IfModule>


<IfDefine MOD_WSGI_DIRECTORY_LISTING>
<IfModule !autoindex_module>
LoadModule autoindex_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_autoindex.so'
</IfModule>
</IfDefine>


<IfVersion >= 2.2.15>
<IfModule !reqtimeout_module>
LoadModule reqtimeout_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_reqtimeout.so'
</IfModule>
</IfVersion>


<IfDefine MOD_WSGI_COMPRESS_RESPONSES>
<IfModule !deflate_module>
LoadModule deflate_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_deflate.so'
</IfModule>
</IfDefine>


<IfDefine MOD_WSGI_AUTH_USER>
<IfModule !auth_basic_module>
LoadModule auth_basic_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_auth_basic.so'
</IfModule>
<IfModule !auth_digest_module>
LoadModule auth_digest_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_auth_digest.so'
</IfModule>
<IfModule !authz_user_module>
LoadModule authz_user_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_authz_user.so'
</IfModule>
</IfDefine>


<IfDefine MOD_WSGI_WITH_PROXY>
<IfModule !proxy_module>
LoadModule proxy_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_proxy.so
</IfModule>
<IfModule !proxy_http_module>
LoadModule proxy_http_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_proxy_http.so
</IfModule>
</IfDefine>


<IfModule mpm_prefork_module>
<IfDefine MOD_WSGI_WITH_PHP5>
<IfModule !php5_module>
Loadmodule php5_module '${MOD_WSGI_MODULES_DIRECTORY}/libphp5.so'
</IfModule>
AddHandler application/x-httpd-php .php
</IfDefine>
</IfModule>


<IfDefine MOD_WSGI_LOAD_PYTHON_DYLIB>
LoadFile ''
</IfDefine>


LoadModule wsgi_module '/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so'


<IfDefine MOD_WSGI_SERVER_METRICS>
<IfModule !status_module>
LoadModule status_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_status.so'
</IfModule>
</IfDefine>


<IfDefine MOD_WSGI_CGID_SCRIPT>
<IfModule !cgid_module>
LoadModule cgid_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_cgid.so'
</IfModule>
</IfDefine>


<IfDefine MOD_WSGI_CGI_SCRIPT>
<IfModule !cgi_module>
LoadModule cgi_module '${MOD_WSGI_MODULES_DIRECTORY}/mod_cgi.so'
</IfModule>
</IfDefine>


<IfVersion < 2.4>
DefaultType text/plain
</IfVersion>


TypesConfig '/etc/mime.types'


HostnameLookups Off
MaxMemFree 64
Timeout 60
ListenBacklog 500


<IfDefine MOD_WSGI_WITH_HTTP2>
Protocols h2 h2c http/1.1
</IfDefine>


<IfVersion >= 2.2.15>
RequestReadTimeout header=15-30,MinRate=500 body=15,MinRate=500
</IfVersion>


LimitRequestBody 10485760


<Directory />
    AllowOverride None
<IfVersion < 2.4>
    Order deny,allow
    Deny from all
</IfVersion>
<IfVersion >= 2.4>
    Require all denied
</IfVersion>
</Directory>


WSGIPythonHome '/usr'


WSGIVerboseDebugging 'Off'


<IfDefine MOD_WSGI_WITH_SOCKET_PREFIX>
WSGISocketPrefix None/wsgi
</IfDefine>
<IfDefine !MOD_WSGI_WITH_SOCKET_PREFIX>
WSGISocketPrefix /tmp/mod_wsgi-example.com:8000:0/wsgi
</IfDefine>


WSGISocketRotation Off


<IfDefine !ONE_PROCESS>
WSGIRestrictEmbedded On
<IfDefine MOD_WSGI_MULTIPROCESS>
WSGIDaemonProcess example.com:8000 \
   display-name='(wsgi:example.com:8000:0)' \
   home='/home/joel/new/myappointments' \
   processes=1 \
   threads=5 \
   maximum-requests=0 \
   python-path='' \
   python-eggs='/tmp/mod_wsgi-example.com:8000:0/python-eggs' \
   lang='en_US.UTF-8' \
   locale='en_US.UTF-8' \
   listen-backlog=100 \
   queue-timeout=45 \
   socket-timeout=60 \
   connect-timeout=15 \
   request-timeout=60 \
   inactivity-timeout=0 \
   startup-timeout=15 \
   deadlock-timeout=60 \
   graceful-timeout=15 \
   eviction-timeout=0 \
   restart-interval=0 \
   cpu-time-limit=0 \
   shutdown-timeout=5 \
   send-buffer-size=0 \
   receive-buffer-size=0 \
   header-buffer-size=0 \
   response-buffer-size=0 \
   response-socket-timeout=0 \
   server-metrics=Off
</IfDefine>
<IfDefine !MOD_WSGI_MULTIPROCESS>
WSGIDaemonProcess example.com:8000 \
   display-name='(wsgi:example.com:8000:0)' \
   home='/home/joel/new/myappointments' \
   threads=5 \
   maximum-requests=0 \
   python-path='' \
   python-eggs='/tmp/mod_wsgi-example.com:8000:0/python-eggs' \
   lang='en_US.UTF-8' \
   locale='en_US.UTF-8' \
   listen-backlog=100 \
   queue-timeout=45 \
   socket-timeout=60 \
   connect-timeout=15 \
   request-timeout=60 \
   inactivity-timeout=0 \
   startup-timeout=15 \
   deadlock-timeout=60 \
   graceful-timeout=15 \
   eviction-timeout=0 \
   restart-interval=0 \
   cpu-time-limit=0 \
   shutdown-timeout=5 \
   send-buffer-size=0 \
   receive-buffer-size=0 \
   response-buffer-size=0 \
   response-socket-timeout=0 \
   server-metrics=Off
</IfDefine>
</IfDefine>


WSGICallableObject 'application'
WSGIPassAuthorization On
WSGIMapHEADToGET Auto


<IfDefine ONE_PROCESS>
WSGIRestrictStdin Off
<IfDefine MOD_WSGI_WITH_PYTHON_PATH>
WSGIPythonPath ''
</IfDefine>
</IfDefine>


<IfDefine MOD_WSGI_SERVER_METRICS>
ExtendedStatus On
</IfDefine>


WSGIServerMetrics Off


<IfDefine MOD_WSGI_SERVER_STATUS>
<Location /server-status>
    SetHandler server-status
<IfVersion < 2.4>
    Order deny,allow
    Deny from all
    Allow from localhost
</IfVersion>
<IfVersion >= 2.4>
    Require all denied
    Require host localhost
</IfVersion>
</Location>
</IfDefine>


<IfDefine MOD_WSGI_KEEP_ALIVE>
KeepAlive On
KeepAliveTimeout 0
</IfDefine>
<IfDefine !MOD_WSGI_KEEP_ALIVE>
KeepAlive Off
</IfDefine>


<IfDefine MOD_WSGI_COMPRESS_RESPONSES>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/json
</IfDefine>


<IfDefine MOD_WSGI_ROTATE_LOGS>
ErrorLog "|/usr/bin/rotatelogs \
    /dev/stderr.%Y-%m-%d-%H_%M_%S 5M"
</IfDefine>
<IfDefine !MOD_WSGI_ROTATE_LOGS>
ErrorLog "/dev/stderr"
</IfDefine>
LogLevel warn


<IfDefine MOD_WSGI_ERROR_LOG_FORMAT>
ErrorLogFormat "None"
</IfDefine>


<IfDefine MOD_WSGI_ACCESS_LOG>
<IfModule !log_config_module>
LoadModule log_config_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_log_config.so
</IfModule>
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
LogFormat "undefined" custom
<IfDefine MOD_WSGI_ROTATE_LOGS>
CustomLog "|/usr/bin/rotatelogs \
    /dev/stdout.%Y-%m-%d-%H_%M_%S 5M" common
</IfDefine>
<IfDefine !MOD_WSGI_ROTATE_LOGS>
CustomLog "/dev/stdout" common
</IfDefine>
</IfDefine>


<IfDefine MOD_WSGI_CHUNKED_REQUEST>
WSGIChunkedRequest On
</IfDefine>


<IfDefine MOD_WSGI_WITH_PROXY_HEADERS>
WSGITrustedProxyHeaders 
</IfDefine>
<IfDefine MOD_WSGI_WITH_TRUSTED_PROXIES>
WSGITrustedProxies 
</IfDefine>


<IfDefine MOD_WSGI_WITH_HTTPS>
<IfModule !ssl_module>
LoadModule ssl_module ${MOD_WSGI_MODULES_DIRECTORY}/mod_ssl.so
</IfModule>
</IfDefine>


<IfModule mpm_prefork_module>
<IfDefine !ONE_PROCESS>
ServerLimit 20
StartServers 1
MaxClients 20
MinSpareServers 1
MaxSpareServers 2
</IfDefine>
<IfDefine ONE_PROCESS>
ServerLimit 1
StartServers 1
MaxClients 1
MinSpareServers 1
MaxSpareServers 1
</IfDefine>
MaxRequestsPerChild 0
</IfModule>


<IfModule mpm_worker_module>
<IfDefine !ONE_PROCESS>
ServerLimit 2
ThreadLimit 10
StartServers 1
MaxClients 20
MinSpareThreads 10
MaxSpareThreads 10
ThreadsPerChild 10
</IfDefine>
<IfDefine ONE_PROCESS>
ServerLimit 1
ThreadLimit 1
StartServers 1 
MaxClients 1
MinSpareThreads 1
MaxSpareThreads 1
ThreadsPerChild 1
</IfDefine>
MaxRequestsPerChild 0
ThreadStackSize 262144
</IfModule>


<IfModule mpm_event_module>
<IfDefine !ONE_PROCESS>
ServerLimit 2
ThreadLimit 10
StartServers 1
MaxClients 20
MinSpareThreads 10
MaxSpareThreads 10
ThreadsPerChild 10
</IfDefine>
<IfDefine ONE_PROCESS>
ServerLimit 1
ThreadLimit 1
StartServers 1
MaxClients 1
MinSpareThreads 1
MaxSpareThreads 1
ThreadsPerChild 1
</IfDefine>
MaxRequestsPerChild 0
ThreadStackSize 262144
</IfModule>


<IfDefine !MOD_WSGI_VIRTUAL_HOST>
<IfVersion < 2.4>
NameVirtualHost *:8000
</IfVersion>
<VirtualHost _default_:8000>
</VirtualHost>
</IfDefine>


<IfDefine MOD_WSGI_VIRTUAL_HOST>


<IfVersion < 2.4>
NameVirtualHost *:8000
</IfVersion>
<VirtualHost _default_:8000>
<Location />
<IfVersion < 2.4>
Order deny,allow
Deny from all
</IfVersion>
<IfVersion >= 2.4>
Require all denied
</IfVersion>
<IfDefine MOD_WSGI_ALLOW_LOCALHOST>
Allow from localhost
</IfDefine>
</Location>
</VirtualHost>
<IfDefine !MOD_WSGI_HTTPS_ONLY>
<VirtualHost *:8000>
ServerName example.com
<IfDefine MOD_WSGI_SERVER_ALIAS>
ServerAlias None
</IfDefine>
</VirtualHost>
<IfDefine MOD_WSGI_REDIRECT_WWW>
<VirtualHost *:8000>
ServerName unspecified
Redirect permanent / http://example.com:8000/
</VirtualHost>
</IfDefine>
</IfDefine>


<IfDefine MOD_WSGI_HTTPS_ONLY>
<VirtualHost *:8000>
ServerName example.com
<IfDefine MOD_WSGI_SERVER_ALIAS>
ServerAlias None
</IfDefine>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://example.com:443%{REQUEST_URI}
</VirtualHost>
<IfDefine MOD_WSGI_REDIRECT_WWW>
<VirtualHost *:8000>
ServerName unspecified
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://example.com:443%{REQUEST_URI}
</VirtualHost>
</IfDefine>
</IfDefine>


</IfDefine>


<IfDefine MOD_WSGI_VIRTUAL_HOST>


<IfDefine MOD_WSGI_WITH_HTTPS>
<IfDefine MOD_WSGI_WITH_LISTENER_HOST>
Listen example.com:443
</IfDefine>
<IfDefine !MOD_WSGI_WITH_LISTENER_HOST>
Listen 443
</IfDefine>
<IfVersion < 2.4>
NameVirtualHost *:443
</IfVersion>
<VirtualHost _default_:443>
<Location />
<IfVersion < 2.4>
Order deny,allow
Deny from all
</IfVersion>
<IfVersion >= 2.4>
Require all denied
</IfVersion>
<IfDefine MOD_WSGI_ALLOW_LOCALHOST>
Allow from localhost
</IfDefine>
</Location>
SSLEngine On
SSLCertificateFile /home/joel/new/myappointments/ssl-certs/cert.pem
SSLCertificateKeyFile /home/joel/new/myappointments/ssl-certs/privkey.pem
<IfDefine MOD_WSGI_VERIFY_CLIENT>
SSLCACertificateFile None
SSLVerifyClient none
</IfDefine>
<IfDefine MOD_WSGI_CERTIFICATE_CHAIN>
SSLCertificateChainFile None
</IfDefine>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
<IfDefine MOD_WSGI_SERVER_ALIAS>
ServerAlias None
</IfDefine>
SSLEngine On
SSLCertificateFile /home/joel/new/myappointments/ssl-certs/cert.pem
SSLCertificateKeyFile /home/joel/new/myappointments/ssl-certs/privkey.pem
<IfDefine MOD_WSGI_VERIFY_CLIENT>
SSLCACertificateFile None
SSLVerifyClient none
</IfDefine>
<IfDefine MOD_WSGI_CERTIFICATE_CHAIN>
SSLCertificateChainFile None
</IfDefine>
<IfDefine MOD_WSGI_HTTPS_ONLY>
<IfDefine MOD_WSGI_HSTS_POLICY>
Header set Strict-Transport-Security None
</IfDefine>
</IfDefine>
<IfDefine MOD_WSGI_SSL_ENVIRONMENT>
SSLOptions +StdEnvVars
</IfDefine>
</VirtualHost>
<IfDefine MOD_WSGI_REDIRECT_WWW>
<VirtualHost *:443>
ServerName unspecified
Redirect permanent / https://example.com:443/
SSLEngine On
SSLCertificateFile /home/joel/new/myappointments/ssl-certs/cert.pem
SSLCertificateKeyFile /home/joel/new/myappointments/ssl-certs/privkey.pem
<IfDefine MOD_WSGI_VERIFY_CLIENT>
SSLCACertificateFile None
SSLVerifyClient none
</IfDefine>
<IfDefine MOD_WSGI_CERTIFICATE_CHAIN>
SSLCertificateChainFile None
</IfDefine>
</VirtualHost>
</IfDefine>
</IfDefine>


</IfDefine>


DocumentRoot '/tmp/mod_wsgi-example.com:8000:0/htdocs'


AccessFileName .htaccess


<Directory '/tmp/mod_wsgi-example.com:8000:0'>
    AllowOverride None
<Files handler.wsgi>
<IfVersion < 2.4>
    Order allow,deny
    Allow from all
</IfVersion>
<IfVersion >= 2.4>
    Require all granted
</IfVersion>
</Files>
</Directory>


<Directory '/tmp/mod_wsgi-example.com:8000:0/htdocs/'>
    AllowOverride None
<IfDefine MOD_WSGI_DIRECTORY_INDEX>
    DirectoryIndex None
</IfDefine>
<IfDefine MOD_WSGI_DIRECTORY_LISTING>
    Options +Indexes
</IfDefine>
<IfDefine MOD_WSGI_CGI_SCRIPT>
    Options +ExecCGI
</IfDefine>
<IfDefine MOD_WSGI_CGID_SCRIPT>
    Options +ExecCGI
</IfDefine>
    RewriteEngine On
    Include /tmp/mod_wsgi-example.com:8000:0/rewrite.conf
<IfDefine !MOD_WSGI_STATIC_ONLY>
    RewriteCond %{REQUEST_FILENAME} !-f
<IfDefine MOD_WSGI_DIRECTORY_INDEX>
    RewriteCond %{REQUEST_FILENAME} !-d
</IfDefine>
<IfDefine MOD_WSGI_SERVER_STATUS>
    RewriteCond %{REQUEST_URI} !/server-status
</IfDefine>
    RewriteRule .* - [H=wsgi-handler]
</IfDefine>
<IfVersion < 2.4>
    Order allow,deny
    Allow from all
</IfVersion>
<IfVersion >= 2.4>
    Require all granted
</IfVersion>
</Directory>


<IfDefine MOD_WSGI_ERROR_OVERRIDE>
WSGIErrorOverride On
</IfDefine>


<IfDefine MOD_WSGI_HOST_ACCESS>
<Location />
    WSGIAccessScript 'None'
</Location>
</IfDefine>


<IfDefine MOD_WSGI_AUTH_USER>
<Location />
    AuthType Basic
    AuthName 'example.com:8000'
    AuthBasicProvider wsgi
    WSGIAuthUserScript 'None'
<IfDefine MOD_WSGI_AUTH_GROUP>
    WSGIAuthGroupScript 'None'
</IfDefine>
<IfVersion < 2.4>
    Require valid-user
<IfDefine MOD_WSGI_AUTH_GROUP>
    Require wsgi-group 'wsgi'
</IfDefine>
</IfVersion>
<IfVersion >= 2.4>
    <RequireAll>
    Require valid-user
<IfDefine MOD_WSGI_AUTH_GROUP>
    Require wsgi-group 'wsgi'
</IfDefine>
    </RequireAll>
</IfVersion>
</Location>
</IfDefine>


<IfDefine !ONE_PROCESS>
WSGIHandlerScript wsgi-handler '/tmp/mod_wsgi-example.com:8000:0/handler.wsgi' \
    process-group='example.com:8000' application-group=%{GLOBAL}
WSGIImportScript '/tmp/mod_wsgi-example.com:8000:0/handler.wsgi' \
    process-group='example.com:8000' application-group=%{GLOBAL}
</IfDefine>


<IfDefine ONE_PROCESS>
WSGIHandlerScript wsgi-handler '/tmp/mod_wsgi-example.com:8000:0/handler.wsgi' \
    process-group='%{GLOBAL}' application-group=%{GLOBAL}
WSGIImportScript '/tmp/mod_wsgi-example.com:8000:0/handler.wsgi' \
    process-group='%{GLOBAL}' application-group=%{GLOBAL}
</IfDefine>
Alias /__wsgi__/docs '/usr/local/lib/python3.6/dist-packages/mod_wsgi/docs'
Alias /__wsgi__/images '/usr/local/lib/python3.6/dist-packages/mod_wsgi/images'
<Directory '/usr/local/lib/python3.6/dist-packages/mod_wsgi/docs'>
    DirectoryIndex index.html
<IfVersion < 2.4>
    Order allow,deny
    Allow from all
</IfVersion>
<IfVersion >= 2.4>
    Require all granted
</IfVersion>
</Directory>
<Directory '/usr/local/lib/python3.6/dist-packages/mod_wsgi/images'>
<IfVersion < 2.4>
    Order allow,deny
    Allow from all
</IfVersion>
<IfVersion >= 2.4>
    Require all granted
</IfVersion>
</Directory>
<IfDefine MOD_WSGI_VERIFY_CLIENT>
<Location '/'>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>
</IfDefine>

可能是什么问题?

0 个答案:

没有答案