이것은 매우 간단할 것으로 예상되지만 하루 종일 설정하는 데 어려움을 겪고 있습니다. 내 conf 파일은 다음과 같습니다.
# Expires map
map $sent_http_content_type $expires {
default off;
text/html epoch;
text/css max;
application/javascript max;
~image/ max;
}
server {
listen 80;
server_name www.firstdomain.com firstdomain.com;
root /path/to/project/;
error_log /var/log/nginx/error.log;
}
server {
listen 443 ssl http2; # managed by Certbot
server_name www.firstdomain.com;
error_log /var/log/nginx/error.log;
proxy_read_timeout 90;
expires $expires;
location / {
include proxy_params;
proxy_read_timeout 90;
proxy_pass http://xx.xxx.xxx.xxx:8001;
}
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /path/to/static/;
}
location /media/ {
alias /path/to/media/;
}
location /robots.txt {
alias /path/to/robots.txt;
}
ssl_certificate /etc/letsencrypt/live/firstdomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/firstdomain.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
if ($host = 'firstdomain.com') {
return 301 https://www.firstdomain.com$request_uri;
}
if ($scheme != "https") {
return 301 https://www.firstdomain.com$request_uri;
} # managed by Certbot
}
그리고 이것은 사이트에서 사용 가능한 별도의 파일에 저장된 두 번째 도메인입니다.
server {
listen 80;
server_name www.second-domain.com second-domain.com;
error_log my-domain-path/nginx.log;
location /
{
proxy_pass http://www.second-domain.com:8002;
}
}
두 앱 모두 감독자가 관리하며 둘 다 성공적으로 시작됩니다. 그러나 www.second-domain.com으로 이동하면 firstdomain.com의 콘텐츠를 얻게 됩니다.
IP:PORT 위치로 이동하면 볼 수 있지만 도메인 이름으로는 작동하지 않기 때문에 두 번째 도메인 콘텐츠가 작동하고 실행된다고 확신합니다.
왜?
편집: 요청에 따라 nginx -t 결과
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful