![Hestia에서 찾을 수 없는 사이트를 다른 서버로 리디렉션하는 방법 - Nginx 프록시 관리자](https://rvso.com/image/789299/Hestia%EC%97%90%EC%84%9C%20%EC%B0%BE%EC%9D%84%20%EC%88%98%20%EC%97%86%EB%8A%94%20%EC%82%AC%EC%9D%B4%ED%8A%B8%EB%A5%BC%20%EB%8B%A4%EB%A5%B8%20%EC%84%9C%EB%B2%84%EB%A1%9C%20%EB%A6%AC%EB%94%94%EB%A0%89%EC%85%98%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%20-%20Nginx%20%ED%94%84%EB%A1%9D%EC%8B%9C%20%EA%B4%80%EB%A6%AC%EC%9E%90.png)
원하는 것: (Hestia 192.168.0.37 서버)에서 사이트를 찾을 수 없는 경우 리디렉션되었습니다(Nginx 프록시 관리자 192.168.0.36).
주어진:
- 헤스티아 서버 192.168.0.37
- Nginx 프록시 관리자 192.168.0.36
- 테스트 사이트 testsite.com (Nginx 프록시 관리자에서 생성됨) (Hestia에는 기록이 없습니다)
- 헤스티아 게시물:
#netstat -nt4ulp | grep nginx
tcp 0 0 0.0.0.0:80 LISTEN /nginx: mast
tcp 0 0 0.0.0.0:443 LISTEN /nginx: mast
tcp 0 0 0.0.0.0:8083 LISTEN/nginx: master
tcp 0 0 127.0.0.1:8084 LISTEN /nginx: mast
#netstat -nt4ulp | grep apache
tcp 0 0 192.168.0.37:8443 LISTEN /apache2
tcp 0 0 192.168.0.37:8080 LISTEN /apache2
tcp 0 0 127.0.0.1:8081 LISTEN /apache2
================================================= ======================
나는 시도한다:
/etc/nginx/conf.d/192.168.0.37.conf를 편집하세요.
server {
listen 80 default_server;
server_name _;
location / {
proxy_pass http://192.168.0.36:80;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 443 ssl default_server;
server_name _;
ssl_certificate /usr/local/hestia/ssl/certificate.crt;
ssl_certificate_key /usr/local/hestia/ssl/certificate.key;
location / {
proxy_pass https://192.168.0.36:443;
proxy_set_header X-Real-IP $remote_addr;
}
}
================================================= ======================
나는 노력한다
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 15 Sep 2023 17:54:48 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://testsite.com/
/etc/apache2/conf.d/192.168.0.37.conf의 (Hestia 서버 192.168.0.37) DocumentRoot /var/www/html/index.html 페이지를 참조하세요.
Listen 192.168.0.37:8443
Listen 192.168.0.37:8080
<VirtualHost 192.168.0.37:8080>
ServerName 192.168.0.37
DocumentRoot /var/www/html2/
Alias /error/ /var/www/document_errors/
</VirtualHost>
<VirtualHost 192.168.0.37:8443>
ServerName 192.168.0.37
DocumentRoot /var/www/html/
Alias /error/ /var/www/document_errors/
SSLEngine on
SSLVerifyClient none
SSLCertificateFile /usr/local/hestia/ssl/certificate.crt
SSLCertificateKeyFile /usr/local/hestia/ssl/certificate.key
</VirtualHost>
왜, 어떻게 고쳐?
답변1
이것은 주석이어야 하는데, 조금 깁니다.
여기서 무엇을 묻고 있는지 모르겠습니다.
nginx 서버에서 SSL을 종료하는 경우 SSL 인증서의 절대적인 괴물이 있거나 모든 사이트가 nginx에서 별도의 서버로 구성되어 있습니다{...}.
(Hestia 서버 192.168.0.37) 페이지를 참조하세요.
예, 이것이 바로 제가 이 구성에서 기대하는 것입니다. http[s]://192.168.0.36을 요청하셨습니다. http[s]://192.168.0.36을 받았습니다.
다음에 대한 동작을 유지하려는 경우https://192.168.0.36(서브넷 외부에서는 액세스할 수 없음) 알 수 없는 가상 호스트에 대한 새 동작을 추가하는 동안 새 이름을 가진 프록시의 DNS 레코드 또는 호스트 항목과 아파치의 해당 가상 호스트가 필요합니다.
또는 정상적인 사람은 동일한 인증서로 여러 사이트를 운영하려고 시도하지 않으므로 nginx의 기본 서버에서 리디렉션을 반환하는 것입니다.