인터넷의 로컬 호스트
인터넷에 있는 로컬 호스트에서 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.)