답변:
이를 다음과 같이 하나의 서버 블록으로 결합 할 수 있습니다.
server {
listen 80;
listen 443 default_server ssl;
# other directives
}
허용 된 답변을 명확하게하려면 생략해야합니다.
SSL on;
0.8.21 이후의 nginx 버전의 경우 다음이 필요합니다.
listen 443 ssl;
참고:
나는 당신이 제안하는 방법을 모르지만 확실히 쉽고 유지 보수가 쉬운 방법이 있습니다.
공통 서버 설정을 별도의 파일 (예 : "serverFoo.conf")로 이동 한 후 다음 과 같이 include
별도의 server {}
블록으로 이동하십시오.
server {
listen 80;
include serverFoo.conf;
}
server {
listen 443 ssl;
include serverFoo.conf;
}
server_name
각 포트마다 다른 경우에
listen 443 ssl;
지금부터 사용하십시오 .
listen
줄은 올바르게 해석되지 않지만 분리하기 위해 이동하면 server{}
수정됩니다.
이미 유용한 답변을 확장하면 다음과 같은 더 완전한 예가 있습니다.
server {
# Listen on port 80 and 443
# on both IPv4 and IPv6
listen 80;
listen [::]:80 ipv6only=on;
listen 443 ssl;
listen [::]:443 ipv6only=on ssl;
# Set website folder
root /path/to/your/website;
# Enable SSL
ssl_certificate your-cert.pem;
ssl_certificate_key your-cert.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
}