[linux] http에서 https로 아파치 리디렉션

아파치와 환경 Centos

http에서 https로 자동 리디렉션 설정 중

From manage.mydomain.com --- To ---> https://manage.mydomain.com

httpd.conf에 다음을 추가하려고 시도했지만 작동하지 않았습니다.

 RewriteEngine on
    ReWriteCond %{SERVER_PORT} !^443$
    RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]

어떤 아이디어?



답변

나는 실제로이 예제를 따르고 그것은 나를 위해 일했다 🙂

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName mysite.example.com
   Redirect permanent / https://mysite.example.com/
</VirtualHost>

<VirtualHost _default_:443>
   ServerName mysite.example.com
  DocumentRoot /usr/local/apache2/htdocs
  SSLEngine On
 # etc...
</VirtualHost>

그런 다음 수행하십시오.

/etc/init.d/httpd restart


답변

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

http://www.sslshopper.com/apache-redirect-http-to-https.html

또는

http://www.cyberciti.biz/tips/howto-apache-force-https-secure-connections.html


답변

apache redirect http to https여기를 검색하여 착륙했습니다. 이것이 내가 우분투에서 한 일입니다.

1) 모듈 활성화

sudo a2enmod rewrite
sudo a2enmod ssl

2) 사이트 구성 편집

파일 편집

/etc/apache2/sites-available/000-default.conf

내용은 다음과 같아야합니다.

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile    <path to your crt file>
    SSLCertificateKeyFile   <path to your private key file>

    # Rest of your site config
    # ...
</VirtualHost>

3) 아파치 다시 시작

sudo service apache2 restart


답변

실제로, 귀하의 주제는 https://serverfault.com/에 속 하지만 다음 .htaccess 지시문 을 여전히 확인할 수 있습니다 .

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1


답변

가상 호스트를 사용하고 리디렉션하는 대신 mod_rewrite를 사용하지 않는 것이 좋습니다.

mod_rewrite를 사용하려는 경향이있는 경우 :

RewriteEngine On
# This will enable the Rewrite capabilities

RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
# This rule will redirect users from their original location, to the same
location but using HTTPS.
# i.e.  http://www.example.com/foo/ to https://www.example.com/foo/
# The leading slash is made optional so that this will work either in
# httpd.conf or .htaccess context

참조 : Httpd Wiki-RewriteHTTPToHTTPS

301 영구 리디렉션을 찾고 있다면 리디렉션 플래그는 다음과 같아야합니다.

 R=301

RewriteRule은 다음과 같습니다.

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]


답변

Apache2.4 검사가있는 경우 000-default.conf제거 DocumentRoot하고 추가하십시오.

Redirect permanent / https://[your-domain]/


답변

서버 버전 : Apache / 2.4.29 (우분투)

웹과 아파치 공식 문서에서 오랫동안 검색 한 후에 나를 위해 일한 유일한 솔루션은 /usr/share/doc/apache2/README.Debian.gz 에서 나왔습니다.

To enable SSL, type (as user root):

    a2ensite default-ssl
    a2enmod ssl

/etc/apache2/sites-available/000-default.conf 파일에

“/” ” https://sub.domain.com/ ” 리디렉션

<VirtualHost *:80>

    #ServerName www.example.com
    DocumentRoot /var/www/owncloud
    Redirect "/" "https://sub.domain.com/"

그게 다야.


추신 : 추출하지 않고 설명서를 읽으려면 :

gunzip -cd /usr/share/doc/apache2/README.Debian.gz