내 VPS에서 localhost 서비스를 실행하고 있습니다.
서비스를 시작하면 다음과 같은 결과가 나옵니다.
Navigate to https://127.0.0.1:7443 in a browser
문제는 VPS이기 때문에 브라우저에서 열 수 없다는 것입니다.
ngrok를 실행해 보았지만 localhost 연결에 실패했다고 합니다.
로컬 호스트가 실행 중인 동일한 VPS의 IP 주소로 전달할 수 있는 방법이 있습니까? 예를 들어 브라우저를 열고 내 서버 IP를 입력합니까?
답변1
콘솔에서 일부 애플리케이션이 localhost로 이동하지만 모든 인터페이스를 수신한다고 말했기 때문에 이미 localhost를 사용하지 않고 VPS의 IP로 포트에 액세스하려고 시도했습니까?
서비스가 localhost에서만 수신 대기하고 VPS에 대한 SSH 액세스 권한이 있는 경우 VPS의 localhost 포트를 로컬 시스템으로 포트 포워딩할 수 있습니다.
ssh user@vpsIP -L 7443:localhost:7443
-L에 대한 설명 [LOCAL_IP:]LOCAL_PORT:DESTINATION:DESTINATION_PORT
첫 번째 대괄호는 컴퓨터에서 수신할 위치를 지정하려는 경우 선택 사항이며 기본값은 모든 인터페이스입니다.
답변2
원격 주소를 수신하는 웹 서버를 시작하고 인터넷을 통해 액세스합니다.
이를 수행하는 방법은 해당 웹 서버의 문서를 읽으십시오. 알려진 웹 서버를 사용한 프로덕션 배포 시나리오를 선호합니다. 로드 밸런서나 기타 유틸리티 프록시를 중간에 삽입할 수도 있습니다.
개발 목적의 장난감 서버는 운영에 사용할 만큼 충분히 강화되지 않았거나 성능이 충분하지 않습니다. 루프백 주소만 수신할 수도 있습니다.
이것에 대한 도메인 이름도 얻으십시오. 이름에 대한 TLS 인증서를 발급하기가 더 쉽고 사람이 기억하기도 더 쉽습니다.
답변3
대리인을 통해 이를 조율하는 것이 가능합니다. 참가자의 내부 IP 주소가 있는 WireGuard가 있습니다. IP 주소: 10.8.0.2(내부 IP 주소) VPN IP 주소: 10.8.0.2로 VPN을 연결한 서버의 예를 들어 보겠습니다.
로컬 네트워크를 생성하는 VPN을 VPN에 설치해야 합니다. 나에겐 와이어가드가 있다. 그런 다음 nginx를 프록시로 설정하십시오. 설치가 완료되면 브라우저를 열고 VPN의 IP 주소를 입력하십시오. nginx 인사말이 열리면. 이것은 좋다. 다음과 같이 작동해야 합니다. 요청이 vps에 오고, nginx가 이를 처리하고 vpn(WireGuard)을 통해 연결된 서버에 정보를 보내고, 응답을 기다린 후 요청을 보낸 사람에게 다시 보냅니다.
이제 구성을 수정하는 일이 남았습니다.
VPN nginx 구성 여기에 코드를 입력하세요
server {
client_body_timeout 5s;
client_header_timeout 5s;
listen 80; #port
server_name 2.16.136.1;# domen/ip vpn
add_header Access-Control-Allow-Origin *;
location / {
#limit_conn addr 3;
limit_rate 71680k;
#if ($http_cookie ~* ".+" ) {
#set $cookie_cache_bypass 1;
#}
proxy_pass http://10.8.0.2:5000;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto https;
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;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_cache all;
proxy_cache_valid 404 502 503 20m;
proxy_cache_valid any 2h;
proxy_cache_use_stale error timeout invalid_header updating;
gzip on;
gzip_disable "msie6";
gzip_vary on;
#gzip_proxied any;
gzip_comp_level 5;
gzip_min_length 2240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
}
}
추신: 구성 오타가 있는 경우 죄송합니다.
답변4
예를 들어 nginx 프록시 관리자를 설치할 수 있습니다.
여기에서 도메인이나 공용 IP 주소를 추가하고 전달하면 https://127.0.0.1:7443
공용 IP 주소로 이 호스트에 액세스할 수 있습니다.