Nginx
nginx 不為外部 IP 地址的請求提供服務
我在埠 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; } ...
我已經打開了 Ubuntu 防火牆 (ufw) 以允許埠 81。
我現在完全被困住了。
有人有想法麼?
您的伺服器名稱為
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 只在本地主機上監聽,即 127.0.0.1
禁用防火牆
sudo ufw disable
檢查81埠的監聽地址
sudo netstat -tulpn