Raspberry Pi Webサーバーを公開するにはどうすればよいですか?


8

それで、ようやくローカルサーバーでしか使用できないことを除いて、Webサーバーを使用できるようになりました。公開したいと考えています。ルーターとしてD-Link DIR-615を使用しています。PiのIPアドレスは192.168.0.14で、パブリックIP情報は次のようになります。

IP Information: xx.xx.xx.xx
ISP:    Xplornet Communications
Organization:   Xplornet Communications
Connection: Broadband
Services:   None Detected
City:   Sherwood Park
Region: Alberta
Country:    Canada

私がシャーウッドパークに住んでいないことを除いて、すべてがいいですね。

サーバーを公開するにはどうすればよいですか?

私のルーターはポート転送、仮想サーバー、DMZをサポートしています。Apache HTTPサーバーを使用しています。

おかげで、これでも私の問題は解決しません。たぶん外部から接続したいだけなのに、DDNSなどを調べますが、今のところXplornet IPアドレスを入力しても何にも接続しません。

回答:


13

ルーターからPiにポート80を転送します。外部からSSHで接続する場合は、ポート22も転送します。外部からのSSHを使用すると、侵入可能なすべてのユーザーがsshを実行したり、ネットワーク上の他のデバイスにアクセスしたりできることに注意してください。

セットアップが完了したら、IPがほとんど変わらない場合は、Cloudflareなどを使用してドメインを指定できます。それが毎日変化する場合、DynDNSのようなサービスが必要になります。


Kなので、ラズベリーpiのIPアドレスなどを使用して、ポート80をポート80に転送するようにルーターを設定しましたが、外部IPアドレスを入力するたびに「タイムアウト」します
Jim Jones

アクセスして、xx.xx.xx.xx:80のようなポート80を指定してみてください
George Pearce

@スペンサー:すべてのルーターが「ヘアピニング」をサポートしているわけではないため、ネットワーク内からポート転送を確実にテストすることはできません。LANの外部からテストしてみてください。たとえば、WiFiがオフの携帯電話を使用し、非LAN接続には携帯電話データ(3G、HCSDなど)を使用します。
RedGrittyBrick 2013年

@SpencerKillen外部からテストしていますか?ラズベリーpiと同じLAN上にあり、ルーターのパブリックIPにアクセスしている場合、多くのデバイスはこれに対してNATを実行しません。LANから192.168.0.14のWebサーバーにアクセスできる場合、RPIまたはApacheに問題はありませんが、ポート転送が正しく行われていないか、ルーターのどこかにファイアウォールが設置されています。
nos

ポート転送が面倒すぎる、またはまったく選択肢がない場合(たとえば、モバイルルーターの背後にいる場合)、PageKiteやYaler.netなどのリレーサービスを試すことができます(開示:私はYalerの創設者です)
Tamberg

3

覚えておくべきことがいくつかあります。

1つは、ルーターでポート転送を正しく構成している場合でも、一部のルーターは「内部」ではなく「外部」からの接続のみを転送するため、自宅からパブリックIPに接続できない場合があることです。もう1つの一般的な問題は、一部のISPが、ユーザーがパブリックサーバーを実行して、ポート80や25などの一般的な着信ポートをブロックすることを望まないことです。

これらのいずれかがあなたのケースに当てはまるかどうかはわかりませんが、当てはまる可能性があります。それとは別に、私はあなたが正しい軌道に乗っていると思います、あなたのルーターを構成し、動的DNSソリューションがそれがあなたのために働くならこれを行う最も効率的な方法です。

ただし、何らかの理由で機能しない場合は、PageKite(http://pagekite.net/)というソリューションを作成しました。)厳格なファイアウォールの背後から、または頻繁に場所を変更するデバイスからサーバーを公開できるようにします。これは、Raspberry Piから「フロントエンド」リレーサーバーへのトンネルを作成することで機能し、受信リクエストを転送してトンネルを介して応答します。したがって、Piがインターネットに接続していて、リレーに接続できるときはいつでも、サーバーが表示されます(ルーターの調整やddnsは必要ありません)。それは無料のソフトウェアですが、人々が(自分のリレーをどこかで実行するのではなく)オンラインサービスを使用して接続する場合は、その特権に対して少し支払うように求めます。これは、PageKiteが一時的なテストだけでなく、信頼性と永続的な接続を考慮して設計されたことを除いて、他の場所で言及されたlocaltunnelに似ています。

幸運を!


私はラズベリーパイでPageKiteを使用する目的のために、それはここでは、Debianのための指示に従うのが最善であることを言及する必要があります:pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
BjarniRúnar

0

のようなサービスが必要になるDynDNSか、静的IPを取得します。それ以外の場合は、VPNを検討してください。


0

永続的にWebコンテンツを共有するか、一時的なパブリックアクセスのみが必要かによって異なります。後者の場合、DynDNSアカウントを設定してルーターの転送ポートを開くという面倒な作業を行う必要はありません。

かなり簡単な解決策はLocalTunnelを使用することです。これにより、次のようなドメイン名を介してWebサーバーにアクセスできるようになります。

http://8bv2.localtunnel.com

コンピューターでホストしているWebサイトの進行状況を共有するのに非常に便利です。


0

動的IPでのいくつかのシステムに対する私の解決策は次のとおりです。

私のルーターにgodaddy Entrydns 1 cronジョブのドメインがあり、トークン(entrydnsが提供するトークン)を使用してIPアドレスをentrydnsにアップロードしています。そして、私のgodaddyドメインの下にある私のdnsサーバーはentrydnsに設定されています。ああ、移植することを忘れないでください:)

必要に応じて、より詳細なステップバイステップガイドを提供できますが、Googleを通じてこの簡単なプロセスを理解していただければ幸いです。


1
特に同様の問題を抱えている他の人を助ける場合は、より詳細なステップバイステップガイドを先に提供した方がよい場合があります。私はグーグルが役立つことを理解していますが、すべての質問はグーグルで答えられると思います!
コリン2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.