아파치로 배포한 웹에서 get post 요청 안되는 문제 해결 net::ERR_CONNECTION_TIMED_OUT
플러터 웹을 아파치로 띄운 다음, 같은 내부망을 사용하는 다른 pc에서 내 웹사이트를 이용할 수 있도록 구현해야하는 일이 생겼다.
웹을 띄우고 다른 pc에서 접속하는 것까진 성공했으나, 다른 pc에서 내 웹사이트에 접속한 후 get, post 요청을 보내면 다음과 같은 에러가 발생했다.
net::ERR_CONNECTION_TIMED_OUT
해당 에러에 대해 gpt에 검색하니 다음과 같이 설명했다.
- 네트워크 구성 확인: 서버 PC와 클라이언트 PC가 모두 동일한 Wi-Fi 네트워크에 연결되어 있는지 확인하십시오. 두 PC의 Wi-Fi 연결 설정을 다시 확인하여 올바르게 연결되었는지 확인하십시오.
- 방화벽 설정 확인: 서버와 클라이언트 PC 모두의 방화벽이 연결을 차단하고 있을 수 있습니다. 두 PC의 방화벽을 일시적으로 비활성화하여 연결을 설정할 수 있는지 확인합니다. 방화벽 없이 연결이 작동하는 경우 필요한 포트(일반적으로 HTTP/HTTPS의 경우 포트 80 또는 443)에서 들어오고 나가는 연결을 허용하도록 방화벽 규칙을 구성해야 합니다.
- Apache 구성 확인: Apache 웹 서버가 수신 연결을 허용하도록 올바르게 구성되었는지 확인하십시오. 다음을 확인하십시오.
- Apache가 올바른 IP 주소 및 포트에서 수신 대기하는지 확인하십시오. Apache 구성 파일(httpd.conf 또는 가상 호스트 구성 파일)에서 Listen 지시문을 확인하고 올바른 IP 및 포트(일반적으로 HTTP의 경우 Listen 80)로 설정되어 있는지 확인하십시오.
- 가상 호스트 구성을 확인하여 요청을 처리하도록 올바르게 설정되었는지 확인하십시오. ServerName, ServerAlias 및 기타 관련 설정을 확인합니다.
- 서버 IP 주소 확인: 클라이언트 PC에서 요청을 보낼 때 서버 PC의 올바른 IP 주소를 사용하고 있는지 확인하십시오. 서버에서 ipconfig(Windows) 또는 ifconfig(Linux) 명령을 실행하여 서버의 IP 주소를 찾을 수 있습니다.
프론트에서 보내는 요청 url이 잘못된 것도 아니었으므로 백엔드 부분 또는 아파치나 방화벽에서 문제가 있을 것이라고 생각되었다.
우선 백엔드 부분의 코드에서 모든 host의 요청을 받아올 수 있도록 설정했다. (파이썬 플라스크를 활용했다.)
만약 서버가 127.0.0.1에서 돌고 있다면 서버를 실행시킨 pc에서만 접속이 가능하다.
if __name__ == '__main__':
app.debug = True
app.run(host='0.0.0.0', port=5000)
윈도우의 경우, 이게 잘 안먹히면 서버를 실행시킬 때 아래 명령어를 이용하여 외부로의 접근을 허용하도록 한다.
flask run --host=0.0.0.0
그리고 외부의 데이터가 들어오도록 하려면 해당 포트를 열어줘야한다.
같은 와이파이를 사용하는 다른 pc에서 접근이 허용하도록 하려면 그냥 공용 네트워크 방화벽을 꺼버리면 한 방에 해결 되겠으나, 보안에 취약하기 때문에 특정 프로그램이 필요할 경우에만 포트를 열 수 있도록 설정한다.
찾아보기를 클릭하여 아파치 프로그램을 추가한다.
아파치 폴더가 C드라이브에 있을 경우를 기준으로,
C:\Apache24\bin\httpd.exe 위치에 있다.
방화벽에서 서버에 대한 포트 번호를 열어줘야 한다.
다시 확인해보면 같은 공유기 내의 휴대폰이나 pc에서도 post, get 요청이 잘 전달 될 것이다.
'문제 해결' 카테고리의 다른 글
[vscode] 커서 커스터마이징, mac처럼 타이핑, 커서, 스크롤 부드럽게 만드는 법, 커서 화면 고정시키기 (0) | 2023.08.25 |
---|---|
vscode에서 제네릭이 html 태그처럼 자동으로 닫기는 문제 해결 (0) | 2023.08.23 |
PDF 다크모드로 보는 방법 Dark Reader (0) | 2023.04.23 |
티스토리 블로그 게시글 간단하게 목차 만들기, 목차로 되돌아가는 링크 만들기(개쉬움주의) (0) | 2023.02.14 |
VSCODE 화면 그래픽 깨짐 현상 문제 해결 (0) | 2023.01.14 |