Chrome/Firefox(Apache 서버)에서 사이트에 대한 302 리디렉션을 만드는 방법을 알아보세요.

Chrome/Firefox(Apache 서버)에서 사이트에 대한 302 리디렉션을 만드는 방법을 알아보세요.

사이트가 프로덕션 환경에서 실행 중이고 거기에 있어야 하는 동안 온라인 스테이징 환경에서 사이트를 이동하고 사용합니다.

모든 파일을 이동하고 다음과 같이 호스트 파일을 Staging-Server로 지정했습니다 123.123.123.12 example.org. 내 스테이징 서버의 IP는 다음과 같습니다 123.123.123.12.

내가 방문하면 http://example.org얻는다.즉시https://example.orgSSL 인증서가 프로덕션 환경을 사용하여 만들어지기 때문에 모든 종류의 문제가 발생합니다 . 그래서 내 연결이 안전하지 않다고 알려줍니다.

나는 이것을 많이 가지고 놀았습니다. 이제 나는 리디렉션 루프에 있으며, 여기서는 버전 http://https://-버전 사이에서 네 번째로 반송됩니다.

302 리디렉션 찾기

요청이 다음과 같이 '이동'한다고 가정합니다.

                            (step 1)   (step 2)  (step 3)
Visit http://example.org -> Browser -> Apache -> Browser -> Result (https://example.org)

따라서 1, 2 또는 3단계 중 어딘가에서 이 리디렉션이 이루어집니다.

가장 중요한 질문:이 302 리디렉션이 어디서 오는지 어떻게 파악하여 이를 비활성화하고 를 통해 내 사이트에 액세스할 수 있습니까 HTTP://?


시도1 - 브라우저가 이를 수행하지 않았는지 확인

처음에는 다음을 시도했습니다.

  • 개발자 도구를 연 상태에서(네트워크 탭 -> 캐시 비활성화 선택)
  • 시크릿 브라우저에서
  • 캐시된 데이터와 쿠키 등을 모두 지우고 브라우저를 다시 시작하세요.
  • 다른 브라우저에서 시도해 보세요.

Chrome과 Firefox 모두 실제로 https. 그래서 'https 강제'를 비활성화하는 방법을 Google에 입력했습니다. 나는 찾았다간략한 버전그리고상세한 버전. 그들 중 누구도 아무것도 바꾸지 않았습니다(나는 여전히 리디렉션됩니다).

Attempt2 - VirtualMin에서 자동 리디렉션 비활성화

여기서 이런 일이 발생합니다:

'시스템 설정' -> 'Virtualmin 구성' -> 'SSL 설정' -> 선택 취소: '기본적으로 HTTP를 HTTPS로 리디렉션'

원천.

이상하게도 이 이후에 리디렉션 루프가 시작되었습니다!

그리고 나는 이것이 '그냥' .conf서버의 모든 도메인에 대한 -files에 몇 줄을 추가한다고 가정합니다.

시도3 - .htaccess-file이 포트 80에서 트래픽을 '잡는지' 확인하세요.

다음 줄을 추가했습니다.

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

...여기에서 발견됨.

같은 것.

Attempt4 - Apache 설정에 추가 로그 추가

리디렉션이 어디서 왔는지에 대한 정보를 볼 수 있을 것 같습니다. 나는 를 가지고 놀면서 추가 로깅을 추가하려고 시도했지만 /etc/apache2/sites-enabled/example.org.conf아무데도 연결되지 않았습니다. 나는이 게시물, 그러나 그것은 구식입니다(찬성 댓글 참조).


추가 정보

  • 서버 기술: 웹민그리고가상민. 내가 직접 설정한 VPS에서 실행 중입니다. 서버에서 실행되고 작동하는 다른 여러 사이트가 있습니다.

관련 정보