
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu16.04でWebサーバーを開いています。
WebサーバーアプリケーションはApache2です。
ルーターの設定でポート変換の設定もしてあるので、外部からグローバルIPでサイトを表示することができると思うのですが、表示しません。
でも、SSHは外部からでも接続できます。
FWはufwを使っています。もちろん80番ポートも開いています。
オフライン
ryohasegawa さん
その Web サーバは内部からは見れるのですか?
表示できない場合のブラウザ上の表示内容はどうなっているのでしょうか?
オフライン
<hellfireさん返信ありがとうございます。
ローカル内からだとサーバーのIPを指定すると表示します。
表示されない場合は、ブラウザによって異なると思いますが、インターネットに接続されているか確認してください。やファイアウォールの設定を見直すよう促されるメッセージが表示します。
どちらも、外部からSSH接続ができるので、問題点ではないような気がします。
オフライン
ryohasegawa さん
ryohasegawa による投稿:
表示されない場合は、ブラウザによって異なると思いますが、インターネットに接続されているか確認してください。やファイアウォールの設定を見直すよう促されるメッセージが表示します。
あやふやな回答だと、こちらも回答できませんので、
具体的なソフトウェアやエラー内容などを書いて、テストの結果を示してください。
例えば、firefox で「サーバが見つかりませんでした」と表示されたと書いてもらえれば、
こちらでも再現可能で、再確認もできます。
ひとまず、本当にポートが開放されているのかを以下のサイトで確認してみてください。
https://www.cman.jp/network/support/port.html
現状からだと、ファイアウォールの設定が問題な気がしますが、
その設定内容は提示されていないので、こちらでは確認できないため、
推測でしかありませんが…。
オフライン
hellfire さん
返信ありがとうございます。
使用ブラウザはOperaで「メッセージはこのサイトにアクセスできません」です。
ポートの結果はポートが開かれていないみたいです。
ufwの設定の問題なんでしょうか?
22番ポートと同じ設定にしてあるはずなんですが、、、、
To Action From
-- ------ ----
80 ALLOW Anywhere
25565 ALLOW Anywhere
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
80/udp ALLOW Anywhere
80 (v6) ALLOW Anywhere (v6)
25565 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
80/udp (v6) ALLOW Anywhere (v6)
ufwの設定のステータスです。
オフライン
ryohasegawa さん
ufw の設定自体は問題ないようですね。
ネットワークの構成がわからないのですが、
以下の構成であれば、○のところにハブを付けて、
ハブにつけた別の PC から Webサーバにアクセスできるか確認してもらいたいです。
WWW-ルータ-○-Webサーバ
それで、通っているのであれば、ルータ側の設定ということになります。
そもそも、ルータはハードウェアタイプでしょうか、
それとも特定の PC を直に外部の LAN に繋いでルータ化しているタイプでしょうか?
ハードウェアタイプであれば、そちらの見直しを。
場合によっては再起動が必要かもしれません。
ルータ化している場合は、ルータのファイアウォールの設定も
チェックしなければなりません。
オフライン
WWW-ルータ-ハブーWebサーバ
|
ーーWindowsPC
という構成になってます。WindowsPCからはローカルという形でアクセスできます。
ルーターはBHR-4GRVを使っています。
これもまた、80番ポートと同様にポート変換の設定もすましてあるんですが・・・
オフライン
- SSH で外部から接続できる。
- ローカル内からサーバーのIPを指定すると表示できる。
- 外部からグローバルIPでサイトを表示できない。
このことから推測すると、ルーターでの 80番ポートの転送が間違っている可能性を考えます。
telnet で 外部から グローバル IP アドレスの 80 番ポートに接続 (telnet <IPアドレス> 80) して、/ (スラッシュ) だけを入力して Enter を押すとどうなりますか。
何かメッセージが帰ってきますか? それとも / (スラッシュ) の入力の前に接続が拒否されますか?
また、Opera でもいいですが外部からサイトを表示してエラーになったときの、サーバーの Apache のログには何が記録されていますか?
オフライン
ry さん返信ありがとうございます。
telnetの実行結果ですが、
hasegawyounoAir:~ hasegawaryou$ telnet IP 80/
IP: nodename nor servname provided, or not known
IP=グローバルIP(サーバー)です。
と返ってきました。
これの実行は外部から(ポケットワイファイ)から家のネット(サーバー)にやったんですが、ローカル内じゃなくていいですよね?
オフライン
ryohasegawa による投稿:
hasegawyounoAir:~ hasegawaryou$ telnet IP 80/
外部からお願いします。
最後の / (スラッシュ) は要りません。
telnet を実行するときの OS が分からなかったので詳しく説明しませんでしたが、ubuntu で telnet を実行されるようなのでもう少し詳しく書きます。
telnet <IPアドレス> 80 を入力し、Enter を押します。
以下のようなメッセージが表示されるはずです。
Trying <IPアドレス>...
Connected to <IPアドレス>.
Escape character is '^]'.
この次の行の先頭でカーソルが点滅しているはずなので、そこで / (スラッシュ) を入力して Enter を押してください。
ルーターでの 80番ポートの転送が間違っているとすると、Conneted to のメッセージではなく何らかのエラーメッセージになります。
オフライン
ryさん返信ありがとうございます。
タイムアウトでエラーになりました。
これは、ルーターにうまく接続されないということでしょうか?
オフライン
今までの投稿から推察するに、「ルーターに接続できない」ではなく「ルーターに接続できているが、ルーターでのポート転送が正しくできていないため、ルーターからサーバーに転送されていない」のだと思います。
ルーターの設定を見なおしてみてください。
ssh での外部からの接続ができていることから、ルーターでの ssh のポート転送は正しく設定できているはずなので、それを参考にできると思います。
もしかすると、ルーターを設定するための Web UI が、80番ポートの転送を邪魔しているのかもしれません。
ルーターへの 80番ポートへのアクセスをサーバーの 80番ポートに転送するのでは無く、8000番ポート (←ほかの数字でもいいけど) をサーバーの 80 番ポートに転送するようにして、外部からは http://IP:8000/ のように :8000 を付けて接続してみてはどうでしょう。
オフライン