저는 OpenShift (Django, Python 2.7, Apache) 사이트에서 작업 중이며 항상 HTTPS를 통해 제공되기를 바랍니다. 나는 이것이 .htaccess
과 OpenShift의 지식베이스 seems to show that it should be을 사용하는 간단한 작업이라고 생각했습니다. 그러나, 나는 며칠 동안 이것을 고민 해왔고, 어떻게 작동시키는지를 알 수 없다. 기본적으로 내 .htaccess
파일을 정적 파일 이외의 파일에서 작동시키지 못합니다. 단순히 비 정적 리소스에 대한 요청을 으로 리디렉션 할 수 없습니다.OpenShift에서 .htaccess가 무시되었습니다.
여기 내 디렉토리 구조는 ~/app-root/repo
입니다. 그것은 "새로운"(2014 년 3 월 정도) OpenShift 디렉토리 구조를 사용하고 있습니다.
/MyProject
settings.py
urls.py
[etc.]
/[app directories]
/static
/wsgi
wsgi.py
static -> ../static
manage.py
requirements.txt
좋아
, 너무 많은 좌절 후, 나는 일을 아무것도 얻을 수 있는지 만 확인하기 위해 최소한의 가능한 .htaccess
로 테스트했습니다. 모양은 다음과 같습니다.
RewriteEngine on
RewriteRule .* http://www.google.com
모든 것이 Google에 있어야합니다. 이 파일을 wsgi
디렉토리에 넣으면 모든 정적 파일이 google.com으로 리디렉션되지만 그 밖의 것은 없습니다. 내가 ~/app-root/repo
에 넣으면 아무 일도 일어나지 않습니다. 파일이 존재하지 않는 것 같습니다.
마찬가지로 OpenShift에서 제안한 명령을 사용하고 파일을 wsgi
에 넣으면 내 정적 파일이 HTTPS를 사용하도록 리디렉션되지만 그 밖의 것은 없습니다.
sites like this one에 의해 제안 된대로 os.environ['HTTPS'] = "on"
에서 wsgi.py
까지 추가하는 것과 같은 WSGI 및 장고를 시도했습니다. 비효율적이었고, 내가 추가 할 필요가있는 것을 알기 위해 그러한 종류의 설정에 대해 충분히 잘 알고 있다고 말할 수는 없지만 이상적으로는 .htaccess
을 통해이 작업을 수행하고 싶습니다. 요청은 WSGI를 치기 전에 SSL을 사용해야합니다.
내 .htaccess
파일을 으로 요청하려면 어떻게해야합니까? 그리고 OpenShift가 wsgi
에없는 파일 인 .htaccess
을 무시하는 이유는 무엇입니까?
그래, 그건. 이 것을 제외하고 모든 것이 아주 쉽습니다! SSL 리다이렉트 미들웨어가 작동하는 것처럼 보이기 때문에이를 해결할 것입니다. 감사! – mrt