2016-12-02 3 views
2

AWS (ec2/Bitnami/Wordpress)에서 https로 모든 트래픽을 강제 적용하려고 시도합니다.https를 강제로 Apache VirtualHost 설정

는 아파치 - vhosts.conf에서

현재 설정은 내가 리디렉션 것을 생각하고

<VirtualHost *:80> 
    ServerName wordpress.example.com 
    Redirect/https://www.wordpress.example.com 
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs" 

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf" 
</VirtualHost> 
<VirtualHost *:443> 
    ... 
</VirtualHost> 

...

<VirtualHost *:80> 
    ServerName wordpress.example.com 
    ServerAlias www.wordpress.example.com 
    DocumentRoot "/opt/bitnami/apps/wordpress/htdocs" 

    Include "/opt/bitnami/apps/wordpress/conf/httpd-app.conf" 
</VirtualHost> 
<VirtualHost *:443> 
    ... 
</VirtualHost> 

는 단순히 같은 리디렉션으로 ServerAlias에를 대체 할 수 ...입니다 세션을 정식 "www"로 통합 할뿐만 아니라 HTTPS로 만들 수도 있습니다.

그런 식으로 작동합니까, 아니면 여전히 ServerAlias ​​지시문이 필요합니까?

그리고 필요한 경우 ServerAlias가 리디렉션 전후에 제공됩니까?

마지막으로 ServerAlias가 리디렉션 후에 "https : // ..."를 포함하지 않으면 비 HTTPS 세션을 허용합니까?

BTW, 나는 아래 Bitnami suggested solution을 시도했지만 그것은 당신이 올바른 경로에있는 것처럼

<VirtualHost *:80> 
RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] 
... 
</VirtualHost> 

답변

0

솔루션은이 파일을 편집했다 : Bitnami에 따르면 ...

<VirtualHost _default_:80> 
    DocumentRoot "/opt/bitnami/apache2/htdocs" 
    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] 
    ... 
</VirtualHost> 

/opt/bitnami/apache2/conf/bitnami/bitnami.conf 

추가를 this edit 힘은 Bitnami에서 실행되는 모든 응용 프로그램은 HTTPS를에로드합니다. WordPress가 내가 실행하는 유일한 앱이기 때문에,이 솔루션은 나를 위해 일했습니다. Bitnami 지침 forcing https just on wordpress나를 위해 작동하지 않았다.

1

가 보이는 ... 작동하지 않습니다. 영구적 인 리디렉션을 사용하고 있으며 완벽하게 작동합니다.

RedirectMatch에^영구 (. *)은 $ https://www.wordpress.example.com $ (1)

은 또한, HTTPS로 리디렉션하기 때문에, 문서 루트 및 기타 설정은 필요하지 않습니다. https 가상 호스트에서 모든 구성을 수행해야합니다. 나를 위해 일한

+0

지시어를 추가하고 아파치를 다시 시작했지만 아직 비보안 세션을 받고 있습니다. "ServerName wordpress.example.com"과 "RedirectMatch ..."지시어 만 사용한다고 가정합니다. – webguy

+0

포트 80의 가상 호스트 시작 부분에 ServerName, ServerAlias ​​및 위의 리디렉션 만 설정합니다. 다른 모든 것은 주석 처리되었습니다. 또한 일반 apache2에 DocumentRoot가 설정되어 있지 않은지 다시 한 번 확인하십시오.conf 또는 다른 conf 파일을 참조하십시오. –

+0

/opt/bitnami/apache2/conf/http.conf에 있음 ... DocumentRoot "/ opt/bitnami/apache2/htdocs" <디렉토리 "/ opt/bitnami/apache2/htdocs" > 그러나 Bitnami 문서를 따르고 /opt/bitnami/apache2/conf/bitnami/bitnami.conf를 편집하여 https를 강요 할 수 있었지만 wordpress가 아닌 모든 응용 프로그램에서 https를 강제 실행했습니다. – webguy

2

Bitnami 개발자는 여기에 있습니다. 사용한 지침은 Bitnami LAMP Stack을 사용하기위한 것입니다. 우리는 Bitnami Wordpress와 같은 Application Cloud Images에 대한 문서를 업데이트 할 것입니다. 이 경우 httpd-prefix.conf 파일이 아닌 httpd-app.conf 파일을 편집해야합니다.

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] 
RewriteRule /<none>/[L,R] 

다시 시작 아파치 :

sudo /opt/bitnami/ctlscript.sh restart apache 

그리고 이제 리디렉션을 강요 당할 것이다.

+0

글쎄, 당신의 문서가 "응용 프로그램에 HTTPS 리다이렉션을 강제하는 법"을 말합니다. 첫 번째 VirtualHost 지시어 안에있는 /opt/bitnami/apps/myapp/conf/httpd-vhosts.conf 파일에 다음을 추가하십시오 : "만약 그렇지 않다면 귀하의 WPress 패키지에 대한 작업은 예외 사항에 유의해야합니다. – webguy

+0

이 정보를 명확하게하기 위해 문서를 개선하고 있습니다. 감사! 문제가 해결 되었습니까? –

+0

예, 모든 응용 프로그램에서 https를 강제 실행하려면 /opt/bitnami/apache2/conf/bitnami/bitnami.conf 파일을 편집해야했습니다. – webguy