我的團隊正在開發一個REST API來支持使用Django的REST框架的iPhone應用程序。我們已經到了從主機通過開發WSGI接口切換到mod_wsgi apache接口的時候了。我們已經決定使用mod_wsgi-httpd作爲Apache實例。Mod_wsgi https錯誤連接被拒絕
我們無法讓mod_wsgi通過HTTPS託管。
我們提供了mod_wsgi的在我們的Django應用程序設置文件(settings.py)
INSTALLED_APPS = (
'sslserver',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'mod_wsgi.server',
)
,並可以使用此命令成功啓動mod_wsgi的服務器:
蟒蛇manage.py runmodwsgi --host 0.0.0.0 --port 8000 --https-port 8001 --ssl-certificate/path/to/cert/and/key
HTTP服務器奇妙的作品。我們所有的HTTP only API方法都按預期收聽和響應。 HTTPS方面沒有合作。嘗試訪問僅HTTPS方法時,連接被拒絕。
例如試圖連接到使用谷歌瀏覽器的方法時...
https://ipaddress:8001/ldapauth/(ldapauth是HTTPS方法)
鉻吐出回來...
在客戶端Swift中形成的類似請求已拒絕連接。
通常我會認爲這是一個更基本的問題,但是我們使用開發WSGI sslserver(也在項目的settings.py INSTALLED_APPS中)的成功使我認爲這是mod_wsgi或mod_wsgi-httpd的問題。使用此命令,我們可以承載我們的API在與成功的請求/響應SSL:
蟒蛇manage.py runsslserver 0.0.0.0:8001 --key /路徑/到/鍵--cert /路徑/到/證書
任何想法,我可以錯過配置mod_wsgi或mod_wsgi-httpd?非常感謝任何幫助,去吧!
感謝您的幫助!這正是問題所在。確保mod_wsgi知道服務器名稱。 – Freestyle076 2015-03-10 16:46:07