현재 여러 위치 항목이 .conf
포함된 파일이 있습니다. etc/nginx/sites-available
이러한 위치 항목 중 일부는 특정 포트에 대한 역방향 프록시로 설정됩니다. 그러나 디렉터리만 가리키는 위치 항목을 추가하는 데 문제가 있습니다.
server {
listen 443 ssl;
server_name sub.domain.com www.sub.domain.com;
root /var/www/html;
charset utf-8;
access_log /var/log/nginx/sub.domain.com-access.log combined;
error_log /var/log/nginx/sub.domain.com.log error;
ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem;
location /site1 {
proxy_pass http://127.0.0.1:7777;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /site2 {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /site3 {
root /opt/site3;
index index.html;
allow all;
}
}
sub.domain.com/site3
이제 제가 드릴 수 있는 것은 아무것도 없습니다 /opt/site3
.
location {}
프록시 역방향 항목을 나란히 사용하여 항목을 올바르게 사용하는 방법에 대한 도움을 주시면 대단히 감사하겠습니다! 감사해요.
답변1
하위 위치를 사용해 시도한다는 root
것은 시도한다는 의미이며 $root$uri
, 귀하의 경우에는 가 됩니다 /opt/site3/site3
.
당신이 한 일을하고 root
루트가 폴더가되도록 사용할 수 있습니다앞으로액세스하려는 폴더입니다. 그러나 당신은 그렇지 않습니다필요가서 이것을 해보세요.
alias /opt/site3;
대안을 사용해 보십시오 .~해야 한다인덱스 필드를 설정하면 작동하고 올바른 위치에 액세스하며, 필요한 경우 try_files
위치 블록에도 하나가 있습니다.