29 KiB
title, description, keywords, weight
| title | description | keywords | weight | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| FAQ | RustDesk 서버 Pro 설치, 구성, 라이선스, 문제 해결 및 마이그레이션에 관한 자주 묻는 질문. 일반적인 설정 문제, SSL 구성, 데이터베이스 관리 및 업그레이드 절차에 대한 답변을 얻으세요. |
|
600 |
RustDesk Server Pro 빠른 답변
이 FAQ는 가장 일반적인 RustDesk Server Pro 작업을 다룹니다: 설치, OSS에서의 변환, 업그레이드, 라이선스 마이그레이션, 로깅, SMTP 문제 및 디바이스 관리 문제입니다. 처음부터 시작하는 경우 installation guide부터 시작하세요. 이미 실행 중인 서버가 있는 경우 가장 일반적인 후속 페이지는 License, SMTP 및 Client Deployment입니다.
각 일반 작업에 어떤 페이지를 사용해야 하나요?
| 작업 | 최적의 페이지 |
|---|---|
| 새 Pro 서버 설치하기 | Installation |
| Docker로 Pro 설치하기 | Docker install |
| OSS에서 Pro로 변환하기 | Installation |
| 라이선스 구매 또는 이전하기 | License |
| 이메일 알림 설정하기 | SMTP |
| SSO 또는 ID 로그인 구성하기 | OIDC 또는 LDAP |
| 대규모 클라이언트 배포하기 | Client Deployment |
간편 설치 스크립트로 설치하려면 어떻게 해야 하나요?
- https://rustdesk.com/pricing.html로부터 라이선스를 받고, 자세한 내용은 license 페이지를 확인하세요.
- VPS, 베어 메탈 또는 Linux VM을 생성하세요.
- DNS와 SSL을 사용하려면 DNS 이름, 예를 들어
rustdesk.yourdomain.com를 생성하세요. - This page를 실행하세요.
- 명령어를 복사하여 Linux 터미널에 붙여넣으세요.
- 안내에 따라 설치를 진행하세요.
- 설치가 완료되면
https://rustdesk.yourdomain.com또는http://youripaddress:21114를 실행하세요. - 사용자 이름
admin와 비밀번호test1234로 로그인하세요. - 1단계에서 구매한 라이선스 코드를 입력하세요.
RustDesk 서버 오픈소스에서 RustDesk 서버 프로로 어떻게 변환할 수 있나요?
- https://rustdesk.com/pricing.html로부터 라이선스를 받고, 자세한 내용은 license 페이지를 확인하세요.
- TCP 포트 21114를 열어주세요.
- 귀하의 RustDesk 서버에 로그인하세요.
- 이미 DNS를 사용하지 않았고 SSL을 사용하고 싶다면 DNS 이름을 생성하세요. 예:
rustdesk.yourdomain.com. - This page.
- 명령어를 복사하여 Linux 터미널에 붙여넣으세요.
- 설치 과정 중 안내에 따라 진행하세요.
- 설치가 완료되면
https://rustdesk.yourdomain.com또는http://youripaddress:21114로 이동하세요. - 사용자 이름
admin와 비밀번호test1234로 로그인하세요. - 1단계에서 구매한 라이선스 코드를 입력하세요.
RustDesk Server Pro의 새 버전이 출시되었습니다. 어떻게 업그레이드할 수 있나요?
먼저 데이터 파일(sqlite3 파일 등)을 백업하는 것이 좋습니다. https://github.com/rustdesk/rustdesk-server-pro/discussions/184#discussioncomment-8013375.
-
스크립트(
install.sh)로 설치한 경우
update.sh를 실행해주세요.
-
Docker Compose
sudo docker compose down
sudo docker compose pull
sudo docker compose up -d
하지만 이는 귀하의 Docker 버전에 따라 달라지며, 더 자세한 내용은 this를 확인하십시오.
-
Docker
sudo docker ps
## you can also use <CONTAINER NAME>, e.g. `hbbs` and `hbbr` if you follow our manual.
sudo docker stop <CONTAINER ID>
sudo docker rm <CONTAINER ID>
sudo docker rmi <IMAGE ID>
sudo docker run ..... # same as you installed it before
예:
root@hz:~# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
30822972c220 rustdesk/rustdesk-server-pro "hbbr" 10 seconds ago Restarting (1) 2 seconds ago hbbr
0f3a6f185be3 rustdesk/rustdesk-server-pro "hbbs" 15 seconds ago Up 14 seconds hbbs
root@hz:~# sudo docker kill hbbr hbbs
hbbr
hbbs
root@hz:~# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@hz:~# sudo docker rm hbbr hbbs
hbbr
hbbs
root@hz:~# sudo docker rmi rustdesk/rustdesk-server-pro
Untagged: rustdesk/rustdesk-server-pro:latest
Untagged: rustdesk/rustdesk-server-pro@sha256:401b8344323addf777622d0463bd7b964dd18a01599e42e20d8b3818dae71ad2
Deleted: sha256:a3d9d43a3d1dd84b10c39fe0abf7767b18a87819ff0981443ce9e9a52604c889
Deleted: sha256:65ae79ecc0f8b1c8a21085d04af7c8d8f368dd5ad844982d4c7b3ac1f38ba33a
Deleted: sha256:9274a824aef10f2ef106d8f85fbd1905037169cf610951f63dc5109dae4b0825
Deleted: sha256:aa89ac8b57a49f49f041c01b9c0f016060e611cf282e3fda281bc6bebbabaf3f
Deleted: sha256:4af9839016f72586a46f915cae8a5ccf3380ba88a2f79532692d3b1d7020387e
Deleted: sha256:e900a7ffc2fc14fa432cc04823740dcbb78c0aa3508abbbe287ce8b274541ada
Deleted: sha256:503eeab76c11e8316a2a450ef0790d31c5af203309e9c5b44d1bf8a601e6e587
Deleted: sha256:825683356e7dbfcbaabcbf469c9aeb34d36ebeab0308170432b9553e28203116
Deleted: sha256:24a48d4af45bab05d8712fe22abec5761a7781283500e32e34bdff5798c09399
root@hz:~# sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rustdesk/makepkg latest 86a981e2e18f 2 months ago 2.23GB
root@hz:~# sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbs
Unable to find image 'rustdesk/rustdesk-server-pro:latest' locally
latest: Pulling from rustdesk/rustdesk-server-pro
4ce000a43472: Pull complete
1543f88421d3: Pull complete
9b209c1f5a8d: Pull complete
d717f548a400: Pull complete
1e60b98f5660: Pull complete
a86960d9bced: Pull complete
acb361c4bbf6: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:401b8344323addf777622d0463bd7b964dd18a01599e42e20d8b3818dae71ad2
Status: Downloaded newer image for rustdesk/rustdesk-server-pro:latest
0cc5387efa8d2099c0d8bc657b10ed153a6b642cd7bbcc56a6c82790a6e49b04
root@hz:~# sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server-pro hbbr
4eb9da2dc460810547f6371a1c40a9294750960ef2dbd84168079e267e8f371a
root@hz:~# sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4eb9da2dc460 rustdesk/rustdesk-server-pro "hbbr" 5 seconds ago Restarting (1) Less than a second ago hbbr
0cc5387efa8d rustdesk/rustdesk-server-pro "hbbs" 8 seconds ago Up 7 seconds hbbs
root@hz:~# sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rustdesk/rustdesk-server-pro latest a3d9d43a3d1d 5 days ago 193MB
rustdesk/makepkg latest 86a981e2e18f 2 months ago 2.23GB
자세한 내용은 this를 참조하세요.
스크립트로 설치했는데, 서비스를 시작하고 중지하려면 어떻게 해야 하나요?
서비스는 systemd를 사용하므로 sudo systemctl stop|start|restart rustdesk-hbbs|rustdesk-hbbr를 이용해 시작하고 중지할 수 있습니다. 예: sudo systemctl restart rustdesk-hbbs.
스크립트로 설치했는데, Linux 로그를 어떻게 볼 수 있나요?
로그는 /var/log/rustdesk-server에 저장되어 있으며, tail /var/log/rustdesk-server/hbbs.log 또는 tail /var/log/rustdesk-server/hbbs.error를 사용하여 확인할 수 있습니다.
스크립트로 설치했는데 RustDesk 서비스의 상태를 어떻게 확인할 수 있나요?
sudo systemctl status rustdesk-hbbs|rustdesk-hbbr, 예를 들어 sudo systemctl status rustdesk-hbbs와 같은 상태를 확인하려면.
관리자 비밀번호를 어떻게 변경할 수 있나요?
https://rustdesk.yourdomain.com또는http://youripaddress:21114.- 사용자 이름
admin와 비밀번호test1234로 로그인하세요. - 오른쪽 상단 모서리에 있는
admin를 클릭하세요. Settings를 클릭하세요.- 제공된 상자에 새 비밀번호를 입력하세요.
라이선스를 새 서버로 이전하려면 어떻게 해야 하나요?
here를 참조하세요.
내 VPS에서 이메일이 작동하지 않습니다
많은 VPS 제공업체가 포트 465와 25를 차단합니다.
간단한 확인 방법은 텔넷을 사용하는 것입니다. Linux 터미널에서 telnet your.mailserver.com 25를 입력하세요. Windows에서는 PowerShell을 사용하고 Test-NetConnection -ComputerName your.mailserver.com -Port 25를 입력하세요.
귀하의 메일 서버가 포트 25를 사용하지 않을 수 있습니다. 올바른 포트를 사용하고 있는지 확인해 주세요.
PowerShell이나 유사한 도구를 사용해 RustDesk를 배포할 수 있나요?
네, 배포를 돕는 스크립트를 찾을 수 있습니다 here.
버그 보고서를 어떻게 제출할 수 있나요?
GitHub를 통해 제출해 주세요.
자가 호스팅을 하는데도 왜 이 제품이 무료 오픈소스가 아닌가요?
- RustDesk는 여러 사람에게 전업 직업이 되었으며, 그들은 각자 삶과 아내, 직장, 아이들이 있어 모두 관심과 비용이 필요합니다!
- 우리는 앞으로도 계속 여기에 머물며 훌륭한 발전을 이루고 싶습니다.
- 오픈소스 버전은 계속 오픈소스로 유지될 것이며, 다른 사람들이 AGPL 라이선스에 맞춰 개발하도록 장려하겠습니다.
서로 다른 그룹의 기기와 연결할 수 없는데, 이유가 무엇인가요?
이는 쉽게 해결할 수 있습니다. 그룹 간 접근 권한을 허용해야 합니다.
- 새 그룹을 추가하세요.
Edit를 클릭하세요.- 접근하고자 하는 관련 그룹을 선택하세요(해당 그룹에 자동으로 추가됩니다).
어떻게 자동으로 설정을 받을 수 있나요?
설정은 자동으로 생성됩니다.
- GitHub에서 최신 클라이언트를 다운로드하세요.
- 웹 콘솔의 메인 페이지에서
Windows EXE를 클릭하세요. - 호스트와 API를 입력하세요(설정과 다른 경우).
Submit를 클릭하세요.- Android에서 QR 코드를 스캔하고, 생성된 이름으로 exe 파일의 이름을 바꾸세요.
RustDesk Server Pro용 호스팅을 제공하시나요?
sales 팀에 연락해 주세요.
동영상 설정 가이드를 볼 수 있는 곳이 있나요?
네! YouTube Channel가 있습니다.
내 로그/장치 이름이 비어 있음은 왜 그런가요?
제어 중인 장치에서 API가 올바르게 설정되었는지 확인하세요. https://github.com/rustdesk/rustdesk-server-pro/issues/21#issuecomment-1637935750.
RustDesk Server Pro를 어떻게 설치 제거할 수 있나요?
다음 명령어를 실행하세요:
sudo systemctl stop rustdesk-hbbs.service
sudo systemctl disable rustdesk-hbbs.service
sudo systemctl stop rustdesk-hbbr.service
sudo systemctl disable rustdesk-hbbr.service
sudo systemctl daemon-reload
sudo rm /etc/systemd/system/rustdesk-hbbs.service
sudo rm /etc/systemd/system/rustdesk-hbbr.service
sudo rm /usr/bin/hbbs
sudo rm /usr/bin/hbbr
sudo rm -rf /var/lib/rustdesk-server/
sudo rm -rf /var/log/rustdesk-server/
스크립트가 Nginx를 설치한 경우 다음을 사용하여 제거하십시오:
sudo apt remove nginx
웹 콘솔의 장치 목록에서 장치를 제거하려면 어떻게 해야 하나요?
비활성화한 후 삭제하는 기능이 이제 사용 가능해졌습니다.
PowerShell을 사용하여 RustDesk를 업데이트하려면 어떻게 해야 하나요?
$ErrorActionPreference= 'silentlycontinue'
$rdver = ((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RustDesk\").Version)
if ($rdver -eq "1.2.6")
{
Write-Output "RustDesk $rdver is the newest version."
Exit
}
if (!(Test-Path C:\Temp))
{
New-Item -ItemType Directory -Force -Path C:\Temp > null
}
cd C:\Temp
Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.6/rustdesk-1.2.6-x86_64.exe" -Outfile "rustdesk.exe"
Start-Process .\rustdesk.exe --silent-install -wait
Key mismatch 오류
클라이언트를 correct key로 구성해 주세요.
Failed to connect to relay server 오류
hbbr가 실행되고 있는지 확인해 주세요. hbbr에 대한 자세한 정보는 here에서 확인할 수 있습니다.
귀하의 hbbr가 hbbs와 동일한 머신에서 실행되지 않거나, 여러 릴레이 서버를 사용하거나, 기본 포트인 21117에서 실행되지 않는 경우, 이를 hbbs에 명시적으로 알려야 합니다. here를 확인해 주세요.
관리자 계정의 MFA 재설정
https://github.com/rustdesk/rustdesk/discussions/6576
웹 콘솔용 HTTPS 수동 설정
1. 도메인 이름을 구매하고 이를 서버의 IP 주소로 해석하세요.
- GoDaddy, Namecheap 또는 Namesilo와 같은 도메인 등록기관에서 도메인 이름을 구매하세요.
- 다음 중 하나를 사용하여 도메인 이름을 서버의 IP 주소로 해석하세요:
- 도메인 등록기관의 제어판(권장)
- DNS providers
예를 들어, Namesilo에서 도메인 이름 example.com를 구매하고 서버의 IP 주소가 123.123.123.123라면, rustdesk.example.com 하위 도메인을 HTTPS 웹 콘솔 주소로 사용하고 싶습니다. link를 열고 툴팁 Manage dns for the domain가 표시된 버튼을 클릭한 다음, 호스트명 rustdesk와 서버의 IP 주소를 사용해 A 레코드를 추가해야 합니다.

- DNS가 적용되는 데 시간이 소요되므로, https://www.whatsmydns.net를 방문하여 도메인이 서버의 IP 주소로 해석되었는지 확인하세요. 6단계는 올바른 해석 결과에 따라 달라집니다. 다음 단계에서는
YOUR_DOMAIN를 하위 도메인으로 교체하십시오. 예를 들어,rustdesk.example.com로 변경하세요.
2. Nginx 설치하기
- Debian/Ubuntu:
sudo apt-get install nginx - Fedora/CentOS:
sudo dnf install nginx또는sudo yum install nginx - Arch:
sudo pacman -S install nginx - openSUSE:
sudo zypper install nginx - Gentoo:
sudo emerge -av nginx - Appine:
sudo apk add --no-cache nginx
nginx -h를 실행하여 성공적으로 설치되었는지 확인하십시오.
3. Certbot 설치하기
- 방법 1:
snap가 설치되어 있으면sudo snap install certbot --classic를 실행하세요. - 방법 2: 대신
python3-certbot-nginx를 사용하세요. 예를 들어 Ubuntu의 경우sudo apt-get install python3-certbot-nginx를 사용하세요. - 방법 3: 위 두 방법이 실패한 경우,
certbot-nginx를 설치해 보세요. 예를 들어 CentOS 7의 경우sudo yum install certbot-nginx를 사용하세요.
certbot -h를 실행하여 성공적으로 설치되었는지 확인하십시오.
4. Nginx 구성
두 가지 방법이 있습니다:
- 디렉터리
/etc/nginx/sites-available및/etc/nginx/sites-enabled가 존재하는 경우, 다음 명령어의YOUR_DOMAIN를 사용자의 도메인 이름으로 교체하고 실행하십시오.
cat > /etc/nginx/sites-available/rustdesk.conf << EOF
server {
server_name YOUR_DOMAIN;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
}
EOF
그런 다음 sudo ln -s /etc/nginx/sites-available/rustdesk.conf /etc/nginx/sites-enabled/rustdesk.conf를 실행하십시오.
cat /etc/nginx/sites-available/rustdesk.conf를 실행하여 내용이 올바른지 확인하십시오.
- 디렉터리
/etc/nginx/sites-available및/etc/nginx/sites-enabled가 존재하지 않고 디렉터리/etc/nginx/conf.d가 존재하는 경우, 다음 명령어의YOUR_DOMAIN를 귀하의 도메인 이름으로 바꾸고 실행하십시오.
cat > /etc/nginx/conf.d/rustdesk.conf << EOF
server {
server_name YOUR_DOMAIN;
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
}
EOF
cat /etc/nginx/conf.d/rustdesk.conf를 실행하여 내용이 올바른지 확인하십시오.
5. 도메인에 대한 방화벽 규칙 활성화
다음 명령어를 실행하십시오:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable
sudo ufw --force reload
6. SSL 인증서 생성
$YOUR_DOMAIN를 도메인 이름으로 바꾼 다음 실행하세요.
sudo certbot --nginx --cert-name $YOUR_DOMAIN --key-type ecdsa --renew-by-default --no-eff-email --agree-tos --server https://acme-v02.api.letsencrypt.org/directory -d $YOUR_DOMAIN.
Enter email address (used for urgent renewal and security notices)가 표시되면 이메일 주소를 입력하세요.
마지막으로, rustdesk.conf의 내용은 다음과 같아야 합니다:
server {
server_name YOUR_DOMAIN;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN/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
}
server {
if ($host = YOUR_DOMAIN) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name YOUR_DOMAIN;
listen 80;
return 404; # managed by Certbot
}
다음은 일반적인 오류입니다:
- 콘솔에
Successfully deployed certificate for YOUR_DOMAIN to /etc/nginx/.../rustdesk.conf대신Successfully deployed certificate for YOUR_DOMAIN to /etc/nginx/.../default가 출력됩니다.
그 이유는 Certbot이 rustdesk.conf 파일을 찾지 못했기 때문일 수 있습니다. 다음 해결 방법 중 하나를 시도해 보세요:
- 5단계의 결과를 확인하고,
sudo service nginx restart를 실행하세요. YOUR_DOMAIN가 포함된 서버 구성server{...}를rustdesk.conf로 복사한 후,location{...}를 아래 내용으로 변경하세요.
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
too many certificates (5) already issued for this exact set of domains in the last 168 hours
해결 방법: DNS에 다른 도메인 이름을 추가하고 YOUR_DOMAIN를 해당 이름으로 변경하세요. 예를 들어 rustdesk2.example.com로 변경하세요. 그런 다음 1, 4, 6단계를 반복하세요.
Error getting validation data
해결 방법: 방화벽이 원인일 수 있습니다. 자세한 내용은 방화벽 섹션을 참조하세요.
알림: rustdesk.conf를 수동으로 변경한 경우 sudo service nginx restart를 실행하십시오.
7. 웹 페이지에 로그인하기
- 브라우저에서
https://YOUR_DOMAIN를 열고 기본 사용자 이름 "admin"과 비밀번호 "test1234"를 사용해 로그인한 다음, 비밀번호를 본인의 것으로 변경하십시오.
8. id 서버와 릴레이 서버에 WebSocket Secure (WSS) 지원을 추가하여 모든 플랫폼에서 안전한 통신을 가능하게 하십시오.
/etc/nginx/.../rustdesk.conf 파일의 첫 번째 server 섹션에 다음 구성 항목을 추가한 후 Nginx 서비스를 다시 시작하십시오.
웹 클라이언트는 https://YOUR_DOMAIN/web를 통해 접속할 수 있습니다. 사용자 지정 클라이언트는 고급 옵션에서 allow-websocket=Y를 설정하여 웹소켓을 사용할 수 있습니다. 웹소켓이 활성화된 사용자 지정 클라이언트를 사용하는 경우 TCP/UDP를 사용하지 않으며 릴레이를 통해서만 연결할 수 있습니다(직접 IP 연결 제외). 이 웹소켓 활성화 클라이언트만 사용하는 경우 서버는 21114~21119 포트를 닫고 443 포트만 열어둘 수 있습니다.
location /ws/id {
proxy_pass http://127.0.0.1:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
location /ws/relay {
proxy_pass http://127.0.0.1:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
전체 구성은 다음과 같습니다.
server {
server_name YOUR_DOMAIN;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:21114/;
}
location /ws/id {
proxy_pass http://127.0.0.1:21118;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
location /ws/relay {
proxy_pass http://127.0.0.1:21119;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 120s;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN/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
}
server {
if ($host = YOUR_DOMAIN) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name YOUR_DOMAIN;
listen 80;
return 404; # managed by Certbot
}
{{% notice note %}}
이전에 웹 클라이언트용으로 배포한 적이 있고 모든 플랫폼에서 사용하고자 한다면 proxy_read_timeout를 추가해야 합니다.
{{% /notice %}}
9. RustDesk 공개 웹 클라이언트 https://rustdesk.com/web를 사용하는 경우 CORS 우회하기
브라우저의 CORS 제한을 우회하려면 /etc/nginx/.../rustdesk.conf의 location / 섹션에 아래 내용을 추가해야 합니다. 자체 웹 클라이언트를 사용하는 경우 이 단계는 건너뛰기 바랍니다.
if ($http_origin ~* (https?://(www\.)?rustdesk\.com)) {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
}
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' "$http_origin" always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, PATCH, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Origin, Content-Type, Accept, Authorization' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
SELinux
설치하기 시 Waiting for RustDesk Relay service to become active...가 나타나는 경우, 이는 SELinux로 인해 발생할 수 있습니다. 다음 명령어를 시도해 볼 수 있습니다:
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbs'
sudo semanage fcontext -a -t NetworkManager_dispatcher_exec_t 'hbbr'
sudo restorecon -v '/usr/bin/hbbs'
sudo restorecon -v '/usr/bin/hbbr'
방화벽
클라우드의 방화벽
AWS/Azure/Google/DigitalOcean 클라우드에서 실행하는 경우, 클라우드 벤더의 대시보드에서 UDP(21116) 및 TCP(21114-21119) 인바운드 포트를 열어주세요.
- [AWS] https://docs.aws.amazon.com/network-firewall/latest/developerguide/getting-started.html
- [Azure] https://learn.microsoft.com/en-us/azure/virtual-network/network-security-groups-overview
- [Google] https://cloud.google.com/firewall/docs/firewalls
- [DigitalOcean] https://docs.digitalocean.com/products/networking/firewalls/
온프레미스 서버의 방화벽
RustDesk는 ufw로 방화벽을 설정합니다. CentOS 9와 같은 일부 배포판에서는 작동하지 않을 수 있으며, firewall-cmd로 시도해 볼 수 있습니다:
sudo firewall-cmd --permanent --add-port=21115/tcp
sudo firewall-cmd --permanent --add-port=21116/tcp
sudo firewall-cmd --permanent --add-port=21117/tcp
sudo firewall-cmd --permanent --add-port=21118/tcp
sudo firewall-cmd --permanent --add-port=21119/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
IP를 사용하는 경우:
sudo firewall-cmd --permanent --add-port=21114/tcp
DNS/도메인을 사용하는 경우:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
위와 같이 한 후, sudo firewall-cmd --reload를 실행하여 방화벽을 다시 로드하십시오.
웹 콘솔에서 관리자 비밀번호를 변경한 후 로그인할 수 없습니다. 비밀번호를 간단하게 재설정하는 방법이 있나요?
rustdesk-utils가 설치되어 있는지 확인하세요. 설치되지 않았다면 here를 설치할 수 있습니다. 또한 데이터베이스가 있는 폴더, 즉/var/lib/rustdesk-server에서 명령어를 실행해야 합니다.- 명령어는
rustdesk-utils set_password username password입니다. 정상적으로 작동하면 완료라고 표시됩니다.
또한 rustdesk-utils와 함께 사용할 수 있는 다음과 같은 기타 명령어 genkeypair, validatekeypair [public key] [secret key], doctor [rustdesk-server], reset_email_verification 및 reset_2fa_verification가 있습니다.
https://github.com/rustdesk/rustdesk-server-pro/discussions/183
Docker 컨테이너에 루트 CA 인증서 추가하기 (SMTP, OIDC 등에서 TLS 실패 시)
https://github.com/rustdesk/rustdesk-server-pro/issues/99#issuecomment-2235014703