WeChat에서 개발한 로컬 디버깅은 포트 80만 지원합니다. 요약하자면:
방법 1:
회사에서 사용합니다. China Unicom ADSL은 라우터에서 포트 매핑을 완료한 후 China Telecom/China Unicom이 포트 80을 차단한 것으로 확인되었으므로 이 방법은 작동하지 않습니다.
방법 2:
검색해서 다운로드하면 ngrok을 이용해서 빠르게 다운로드해서 설정할 수 있습니다. WeChat 설정에 ngrok URL을 입력할 때 WeChat에서는 이러한 종류의 URL이 보안 위험이 있으며 더 이상 지원되지 않는다는 메시지를 표시했습니다.
방법 3:
이 방법을 사용하려면 외부 Linux 서버가 필요합니다. WeChat에서는 이 시스템의 도메인 이름이 ICP를 통해 등록되어야 합니다. 개발 도메인 이름의 하위 도메인 이름을 사용하여 이 서버를 가리킬 수 있습니다. 예를 들어 http://wechatdev.yourdomain.com
(1) 먼저 Linux 서버의 포트 80을 사용하는 서비스를 닫습니다.
(2) 원격 전달 기능을 켭니다. 서버를 열고 다음 명령을 실행합니다:
sudo nano /etc/ssh/sshd_config
/etc/ssh/sshd_config 파일 끝에 문장을 추가합니다:
GatewayPorts yes
그런 다음 SSH를 다시 시작합니다. sudo service ssh restart
Alibaba Cloud 및 Azure의 Linux 가상 머신을 사용해 보았습니다. 참고할 사항은 다음과 같습니다.
Alibaba Cloud
방화벽을 열고 포트 80에 대한 액세스를 허용
Azure:
방화벽을 열고 포트 80에 대한 액세스를 허용
Alibaba Cloud와 비교하여 Azure의 특별한 점은 루트가 사용자 기본적으로 켜져 있지 않다는 것입니다. 우리에게 필요한 것은 루트 사용자
를 열어 SSH로 로그인하는 것뿐입니다. 가상 머신을 생성할 때 사용자가 있어야 합니다.
다음 명령을 실행합니다:
sudo nano /etc/ssh/sshd_config
수정
비밀번호 없는 PermitRootLogin
은 다음과 같습니다.
#PermitRootLogin with-password(주석 처리)
PermitRootLogin yes
그런 다음 SSH를 다시 시작합니다. :
sudo service ssh restart
그런 다음 루트 사용자로 전환
sudo su
루트 사용자가 잠겨 있는지 확인하세요(LOCK은 잠겨 있음을 의미함)
[root@Linux ~]# grep root /etc/shadow
root:*LOCK*:14600::::::
루트를 활성화하려면 루트에 비밀번호를 제공하세요
[root @ Linux ~]# passwd
마지막 단계는 포트 전달을 설정하고 이 머신에서 실행하는 것입니다(MAC를 사용한다고 가정):
ssh -R 80: localhost: 9001 root@wechatdev.yourdomain.com(이 문장은 wechatdev.yourdomain.com:80으로 전송된 모든 트래픽이 로컬 9001 포트로 전달됨을 의미합니다.
WeChat 개발을 위한 추가 로컬 디버깅 환경 관련 기사 공사 소개는 PHP 중국어 홈페이지를 주목해주세요