Apache 설정 Http Https 로 다시 설정(두 가지 프로젝트 임 군 선택)

Apache Http 를 Https 로 다시 설정 하 는 것 은 매우 중요 하고 중요 합 니 다.다시 설정 하지 않 으 면 ssl 의 보호 성 이 돌아 갈 수 있 습 니 다.
본 논문 의 실험 환경 은?
ubuntu16  apache2.2
선행 조건 은?
SSL 인증서 가 설정 되 어 있 습 니 다.https 를 사용 하여 사이트 에 접근 하 는 것 이 실현 되 었 습 니 다.(실현 되 지 않 았 다 면 이 블 로 그 를 참고 하 십시오)
실현 절차
실현 은 매우 간단 합 니 다.3 단계 만 있 으 면 됩 니 다.
1.80 포트 의 설정 파일 수정(두 가지 방안 임 군 선택)
파일 경로 설정  /etc/apache2/sites-available
80 포트 의 프로필 이름 은?  000-default.conf
80 포트 수정 내용 은
사이 에 다음 과 같은 내용 을 넣는다)
   수정 방법 에 대해 서 는 두 가지 버 전이 있 으 니 버 전 2 를 사용 하 는 것 을 권장 합 니 다.
판본 (www.xxxx.com,xxxx.com 에서 xxx 가 도 메 인 이름 으로 바 뀌 어야 합 니 다)    ServerName www.xxxx.com     ServerAlias xxxx.com     RewriteEngine On     RewriteRule ^/(.*?)$ https://www.xxxx.com/$1 [R]
판본 (www.xxxx.com,xxxx.com 에서 xxx 가 도 메 인 이름 으로 바 뀌 어야 합 니 다)
    ServerName www.xxxx.com     ServerAlias xxxx.com     RewriteEngine On     RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
버 전 2 명령 설명
RewriteEngine On 은 rewrite 기능 을 켜 는 거 예요.
RewriteCond %{HTTPS} !=on  https 가 아 닐 때 다음 규칙 을 실행 합 니 다.
^(.*) https://%{SERVER_NAME}$1 [L,R] 중. ^ 일치 하 는 줄 의 시작 
$1 RewriteRule 의 첫 번 째 정규(.*)가 대표 하 는 문 자 를 참조 합 니 다.%{SERVERNAME}바로 감청 사이트 도 메 인 입 니 다.
[L]:엔 딩 마크.재 작성 작업 을 중단 하고 다른 재 작성 규칙 을 적용 하지 않 습 니 다.본 조항의 규칙 이 후속 규칙 에 영향 을 받 는 것 을 방지 하 다
 R 외부 방향 변경 강제
버 전 1 과 버 전 2 의 차이
1.버 전 1 재 설정 규칙 은 모두 하 드 인 코딩 을 사용 하고 결합 성 이 너무 강 하 므 로 버 전 2 를 사용 하 는 것 을 권장 합 니 다.
2.버 전 2 의 리 셋 규칙 의 정규 표현 식 은 버 전 1 보다 결말 표시 가 더욱 전면적 이 고 안전 합 니 다.
3.제 버 전 2 는 다른 저녁 버 전보 다 다른 점 이 있 습 니 다.원래 의 000-default.conf 에는 ServerName 이 없습니다.버 전 을 직접 사용 하면 서 비 스 를 다시 시작 하 는 데 실 패 했 습 니 다.
수정 후 효과

	# The ServerName directive sets the request scheme, hostname and port that
	# the server uses to identify itself. This is used when creating
	# redirection URLs. In the context of virtual hosts, the ServerName
	# specifies what hostname must appear in the request's Host: header to
	# match this virtual host. For the default virtual host (this file) this
	# value is not decisive as it is used as a last resort host regardless.
	# However, you must set it for any further virtual host explicitly.
	#ServerName www.example.com

	#ServerAdmin webmaster@localhost
	DocumentRoot /var/www/html/

	# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
	# error, crit, alert, emerg.
	# It is also possible to configure the loglevel for particular
	# modules, e.g.
	#LogLevel info ssl:warn

	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".
	#Include conf-available/serve-cgi-bin.conf
    #    
	RewriteEngine on
    ServerName www.xxxx.com
    ServerAlias xxxx.com
    RewriteEngine On
    RewriteRule ^/(.*?)$ https://www.xxxx.com/$1 [R]


# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

 
2.리 셋 모듈 오픈
sudo a2enmod rewrite
3.서비스 재 개
sudo systemctl restart apache2  
테스트
테스트 방법 은 간단 합 니 다.http 접근 을 시도 합 니 다.주소 가 https 로 변 하 는 지 주의 하 십시오.

좋은 웹페이지 즐겨찾기