인터넷의 로컬 호스트
인터넷에 있는 로컬 호스트에서 SSL을 제한없이 사용할 수 있습니다.
소개
많은 서비스가 당신에게 인터넷에서 로컬 호스트를 공개하는 방법을 제공합니다.타사 API를 테스트하거나 현재 개발 서버를 표시해야 합니다.예를 들어 가장 유행하는 것은 다음과 같다.
선결 조건
그럼 저희가 뭘 필요로 할까요?
이런 설정은 어떤 장점이 있습니까?물어봐도 돼.
Let's get started, shall we?
이것은 단지 4단계 설정일 뿐이다
단계 1 - nginx 설정 서버를 사용하여 하위 영역의 데이터를 서비스합니다
서버에 먼저 설치하십시오
nginx.Ubutnu를 사용한다면
sites-available 의 /etc/nginx 폴더에nginx에 프로필을 추가해야 합니다.nginx 프로필은 다음과 같습니다.map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
server_name 42.igauravsehrawat.com;
location / {
proxy_pass http://localhost:4242;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# Enables WS support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
server {
server_name www.42.igauravsehrawat.com;
location / {
proxy_pass http://localhost:4242;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# Enables WS support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
구성을 살펴보겠습니다.server_name명령이 있습니다. 서비스가 요청한 도메인을 알려주고 listen도메인에서 어느 포트의 명령을 정탐합니다.location 지령은 여기서 매우 중요하다. 여기서 우리는 단지 포트localhost로 4242로부터 요청을 대리할 뿐이다.이 포트는 매우 중요하다. 왜냐하면 우리는 로컬 호스트의 유량을 그것으로 정할 것이다.그리고 요청에 헤더를 설정합니다.server_name 대신 원하는 하위 도메인에 따라 변경해야 합니다.2단계 - DNS에서 하위 도메인 구성
Digital Ocean DNS Service를 사용하면 선택한 하위 도메인, 즉 42를 추가합니다.igauravsehrawat.1단계에서 완료된com
하위 도메인을 추가하기 위해 3개의 레코드(a 레코드, AAAA 레코드, CNAME 레코드)를 작성합니다.
A와 AAAA 레코드는 아래와 같이 디지털 해양 서버로 리디렉션됩니다.
CNAME는 A/AAA 레코드의 별명일 뿐입니다.세 가지 모두 다음과 같이 표시됩니다.
이러한 것들은 인터넷을 통해 귀하의 하위 영역을 방문하여
42.igauravsehrawat.com 페이지를 표시할 수 있어야 합니다. 이것은 포트502 Bad Gateway로 전송되는 것이 없기 때문입니다.. 3단계 - SSL 활성화
SSL을 사용하는 것은 식은 죽 먹기입니다.here에 따라
4242 키트 설치그리고nginx에magic 명령을 실행합니다
certbot아래의 내용을 보실 수 있습니다
두 번 실행, 한 번은 하위 도메인, 다른 한 번은 CNAME(별칭)입니다.
이제 보셨을 거예요. 우리 자역으로 가세요. www.42.igauravsehrawat.com
서버의localhost 포트
sudo certbot --nginx에서 아무런 내용도 실행되지 않았기 때문에 예상한 것입니다.왕, 우리는 즐거움의 춤에서 한 발자국 떨어진 곳에 있다.
단계 4-SSH 마술
명령 하나면 그들을 통치할 수 있다
4242- N이 "원격 명령을 실행하지 마십시오. 전달 포트에 유용합니다."-R 은 "원격(서버) 호스트에 지정된 TCP 포트 또는 유닉스 소켓에 대한 연결이 로컬로 전달됩니다."라고 알려 줍니다.
첫 번째localhost는 서버의 것이고, 두 번째는 로컬 기계의 것이며, 그 다음은 서버의 주소이다.SSH 키를 설정하면 (권장) 암호가 없고 아무 것도 없습니다.
그렇습니다.
약속한 대로 즐겁게 춤을 추다.
Wait, wait, we haven't tested yet.
테스트
테스트를 진행하기 위해서, 나는
ssh -N -R localhost:4242:localhost:3000 [email protected]와docreate-react-app를 사용하여 포트 3000(기본값)에서 create a react 응용 프로그램을 실행할 것이다.매직 SSH 명령 실행
npm start움직이는 걸 봤어요.
결론
서버 한 대의 기능만 있기 때문에 자신의 설정을 가지는 것은 어렵지 않다.SSL을 지원하는 사용자 정의 하위 도메인만 있으면 제한이 없습니다.
Reference
이 문제에 관하여(인터넷의 로컬 호스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/root3d/localhost-on-the-internet-4jak텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)