http 및 https 요청에 응답하도록 Nginx를 설정해야 합니다. 기본 conf를 다음과 같이 구성했습니다.
server {
listen 80;
listen 443;
ssl on;
ssl_certificate /etc/nginx/certs/domain-bundle.crt;
ssl_certificate_key /etc/nginx/certs/domain.it.key;
server_name static.domain.it;
location / {
try_files $uri @s3cache;
}
location @s3cache{
proxy_cache S3CACHE;
proxy_cache_valid 200 48h;
proxy_cache_valid 403 60m;
proxy_pass http://static.domain.it.s3-external-3.amazonaws.com;
}
}
https 프로토콜은 잘 작동하지만 http 요청을 하면 다음 오류가 발생합니다.
400 Bad Request
The plain HTTP request was sent to HTTPS port
답변1
이것보안 소켓 계층지시문은 전체 가상 호스트에 대해 SSL을 활성화하고 포트 번호를 확인하지 않습니다. SSL을 단일 포트로 제한하려면 다음을 바꾸십시오.
listen 80;
listen 443;
ssl on;
통과:
listen 80;
listen 443 ssl;