ポート81でnginxを実行しています。telnet 127.0.0.1 81
を使用してTelnetを実行でき、すべて問題ありません。
しかし、Mac(外部IPアドレス)からマシンにtelnetで接続しようとすると、次のエラーが発生します。
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)を開きました。
私は今、完全に行き詰まっています。
誰かアイデアはありますか?
サーバー名は
server_name 109.123.x.x;
これは間違っています !!!!!
のような数字ではない名前を入れてください
server_name mywebsite.home;
そして、mywebsite.homeをnginxサーバーのIPとしてホストファイル(/ etc/hosts)に入れます
109.123.X.X mywebsite.home
x.Xは数値に置き換えられます
または
すべてのリクエストを処理したい場合は、単に
server_name _;
それでも解決しない場合は、以下を確認してください
ファイアウォール、つまりiptablesがトラフィックをブロックしているか、nginxがローカルホストでのみリスニングしている、つまり127.0.0.1である
ファイアウォールを無効にする
Sudo ufw disable
ポート81のリスニングアドレスを確認する
Sudo netstat -tulpn
数か月前に、ubuntuシステムでngnixを実行して別のWindowsシステムからサービスにアクセスしようとすると、同じ問題が発生します。 http://127.0.0.1/80 のようなポートサービスにアクセスして実行することはできません。しばらくすると、ubuntuシステムのファイアウォールをオフにしてこれに打ち勝ちました。
ファイアウォールをオフにするコマンド:
Sudo ufw disable
最初にファイアウォールのステータスを確認することもできます。
Sudo ufw status
私に役立つヒント:A.)ポート転送B.)パブリックIPをserver_nameとして設定するこれらの手順は、特にヒントAでうまくいきました。