nginx가 외부 IP 주소로 요청을 제공하지 않음


10

포트 81에서 nginx를 실행하고 있습니다. telnet을 사용할 수 telnet 127.0.0.1 81있으며 모든 것이 정상입니다.

그러나 내 Mac (외부 IP 주소)에서 내 컴퓨터로 텔넷하려고하면이 오류가 발생합니다.

telnet: connect to address 109.123.x.x: Connection refused
telnet: Unable to connect to remote host

내 / etc / nginx / sites-available / default 파일은 다음과 같습니다.

server {
        listen   81; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www;
        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name 109.123.x.x;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.html;
        }
        ...

포트 81을 허용하기 위해 Ubuntu Firewall (ufw)을 열었습니다.

나는 지금 완전히 붙어있다.

누구든지 아이디어가 있습니까?

답변:


17

서버 이름이

server_name 109.123.x.x;

이건 잘못이야 !!!!!

숫자가 아닌 이름을 입력하십시오.

server_name mywebsite.home;

mywebsite.home을 nginx 서버의 IP로 호스트 파일 (/ etc / hosts), 즉 Mac과 같은 형식으로

109.123.X.X mywebsite.home

XX는 숫자로 대체됩니다.

또는

모든 요청을 처리하려면 간단히

server_name _;

그래도 문제가 해결되지 않으면 아래를 확인하십시오.

방화벽, 즉 iptables가 트래픽을 차단하거나 nginx가 localhost, 즉 127.0.0.1에서만 청취하도록합니다.

방화벽 비활성화

sudo ufw disable

포트 81의 청취 주소 확인

sudo netstat -tulpn

포트 8080으로 전환했는데 지금 작동 중입니다. 권한이 부여 된 포트 또는 3G 연결이 포트 81을 차단하는 것과 관련이있을 수 있습니다. 어쨌든, 지금 작동합니다. 도와 주셔서 감사합니다.
Eamorr

랙 스페이스 또는 AWS와 같은 클라우드의 인스턴스 인 경우 보안 그룹을 확인하십시오. 기본적으로 포트 22와 80은 일반적으로 열려있는 유일한 포트입니다.
radtek

sudo ufw disable나를 위해 그것을했다.
GG_Python

에 따르면 의 nginx의 문서 , IP 주소를 사용하여 서버 _ 잘못되지 않습니다 있습니다 . "누군가가 서버 이름 대신 IP 주소를 사용하여 요청하면"호스트 "요청 헤더 필드에 IP 주소가 포함되며 IP 주소를 서버 이름으로 사용하여 요청을 처리 할 수 ​​있습니다"
Gabriel Glenn

1

몇 달 전에 우분투 시스템에서 ngnix를 실행하고 다른 Windows 시스템에서 서비스에 액세스하려고 할 때 동일한 문제가 있습니다. 하지만 언젠가 우분투 시스템의 방화벽을 해제하여 이것을 극복하면 http://127.0.0.1/8000 과 같은 포트 서비스에 액세스 할 수 없습니다 .

방화벽을 끄는 명령 :

    sudo ufw disable

방화벽 상태를 먼저 확인할 수도 있습니다.

    sudo ufw status

0

도움이 된 팁 : A.) 포트 전달 B.) 공용 IP를 server_name으로 설정이 단계는 특히 팁 A에 도움이되었습니다.)


서버 이름은 실제로 IP가 아니어야합니다.
Matt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.