유사한 주제에 대한 다른 질문이 있다는 것을 알고 있지만 특정 문제를 해결하는 솔루션을 어디에서도 찾을 수 없습니다. 여기서 차이점은 사이트가 다른 여러 도메인입니다.
여러 도메인으로 Nginx를 설정했습니다: example1.com
및 example2.com
. 다음을 갖는 "기본" 호스트 파일도 있습니다."Nginx에 오신 것을 환영합니다!" 기본 웹페이지.
다음을 포함하여 몇 가지 다른 구성을 시도했습니다.
# 1
server {
server_name example2.com www.example2.com;
listen 80;
return 301 https://example2.com$request_uri;
}
server {
server_name example2.com www.example2.com;
listen 443 default_server;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
# 2
server {
server_name example2.com www.example2.com;
listen 80;
listen 443
return 301 https://example2.com$request_uri;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
1
결과는 다음과 같습니다.
- http://예2.com 리디렉션 중https://예2"환영" 페이지를 표시하는 .com
- http://예1.com 리디렉션 중https://예2"환영" 페이지를 표시하는 .com
- https://예1예제의 실제 내용을 보여주는 .com1.com
2
결과는 다음과 같습니다.
- http://예2리디렉션 루프가 있는 .com
- https://예2리디렉션 루프가 있는 .com
- http://예1.com 리디렉션 중http://예2리디렉션 루프가 있는 .com
- https://예1예제의 실제 내용을 보여주는 .com1.com
example2.com
기본 "Welcome" 폴더에 의 콘텐츠를 넣을 수 없습니다 . 그렇지 않으면 에 영향을 미칠 수 있습니다 example1.com
.
답변1
Richard Smith 덕분에 내가 어떻게 일을 망쳤는지 알게 됐어요. 루트 위치를 올바르게 포함하지 않았습니다. 다른 사람에게 도움이 될 수 있는 경우를 대비해 올바른 파일은 다음과 같습니다.
# example2.com.conf:
server {
server_name example2.com www.example2.com;
listen 80;
return 301 https://example2.com$request_uri;
# What I was missing:
root /var/www/example2-com;
}
server {
server_name example2.com www.example2.com;
listen 443 ssl;# default_server;
# What I was missing:
root /var/www/example2-com;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
# example1.com.conf:
server {
server_name example1.com www.example1.com;
listen 80;
return 301 https://example1.com$request_uri;
# What I was missing:
root /var/www/example1-com;
}
server {
server_name nerd.ink www.nerd.ink;
listen 443 ssl; # default_server;
# What I was missing:
root /var/www/example1-com;
ssl_certificate /etc/letsencrypt/live/example1.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example1.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}