Linux

無法從公共 IP 地址連接到 nginx 伺服器

  • January 6, 2020

嗨,我有一個在 linux 機器上執行的 nginx 伺服器。curl -v http://localhost:8080我可以使用罰款將其從本地主機連接到。但無法將其連接到 usingcurl -v http://<machine-ip>:8080或其他機器上的瀏覽器。

配置文件是

server {
       listen 8080;
       listen [::]:8080;

       root /var/www/html;

       index index.html index.htm index.nginx-debian.html;

       server_name _;

       location / {
               try_files $uri $uri/ =404;
       }
   }

在 IPv4 和 IPv6 上監聽埠 8080,如下sudo netstat -tulpn | grep nginx所示

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      123495/nginx: maste
tcp6       0      0 :::8080                 :::*                    LISTEN      123495/nginx: maste

防火牆已關閉,就像sudo ufw statustell一樣status: inactive。我在各種堆棧交換站點上查看了很多答案,但無法弄清楚問題所在。將不勝感激任何幫助。TIA。

錯誤是埠未從 Azure 端打開。按照此處所述允許埠 8080 上的傳入流量,重新啟動機器,它現在可以正常工作了。

由於您的防火牆已禁用,請先檢查 nginx 日誌。預設 nginx 日誌可以在這裡找到-

vi /var/log/nginx/error.log

vi /var/log/nginx/access.log

如果記錄了任何錯誤,請在Google上搜尋解決方案。如果這些日誌文件中沒有任何內容,請嘗試重新載入或重新啟動 nginx 服務。

sudo systemctl 重新載入 nginx

sudo systemctl restar nginx

引用自:https://serverfault.com/questions/997695