7

単純な静的Webサイトをセットアップしようとしていますが、nginxに問題があり、多くの問題があります。特に、ISPがすべてのインバウンドポート80トラフィックをブロックしているという事実があります。

まず、www.mysite.comがmysite.com:8000にリダイレクトするようにWeb転送を設定し、次にnginxを実行しているサーバーにポート8000​​を転送するようにルーターを設定しました。これにより、ポート80のISPのブロックが回避されます。サーバー上のnginxで、ポート8000​​のリクエストをポート80の仮想ホストにプロキシさせようとしています。これにより、サイトが読み込まれた後、mysite.comとして表示されます。 mysite.com:8000より。

私はnginxのproxy_passディレクティブを使用してこれを実行しようとしていますが、何を実行しても、サイトは常にmysite.com:8000として表示されます。

これが私がこれまでに持っているものです:

server {
  listen [::]:8000

  server_name mysite.com;

  location / {
    proxy_pass http://127.0.0.1:80;
    proxy_redirect default;
    proxy_set_header  Host               $http_host;
    proxy_set_header  X-Real-IP          $remote_addr;
    proxy_set_header  X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto  http;
  }
 }

server {
  listen 127.0.0.1:80;

  server_name mysite.com;

  root /var/www/homepage;
  index index.html;

  .
  .  (non-relevant stuff)
  .
}

実際のサイトへのリンク:http ://www.bjacobel.com

また、ルーターのポート8000​​をポート80に転送し、nginxにポート80でリッスンさせることでこれを実行しようとしましたが、:8000が含まれるURLは引き続き表示されます。

ご協力いただきありがとうございます!

4

2 に答える 2

4

問題の根本はセットアップではなく、最初のWeb転送で発生します。これは、要求されたURL(http://www.yoursite.com)を新しいURL(http://yoursite.com:8000 )にリダイレクトすることで機能します。 )。

したがって、リクエストがセットアップに到達したとき、これはすでに設定されており、プロバイダーがブロックしているため、ポート80に戻すことはできません。

フレームセットをフォワーダー(「Web0.5」)として使用することも、一緒に使用することもできます。

于 2013-03-16T23:10:23.260 に答える
3

警告の言葉、住宅用接続でパブリックWebサーバーをホストすることは、通常、ISPの利用規約に違反します。

サイトにアクセスするにはポート8080でHTTP接続を開始する必要があるため、ブラウザには常に8080が表示されます。URLの一部を「隠す」ことができれば、セキュリティの問題について考えてみてください。

唯一の回避策は、ポート80でアクセスできるサーバー上でプロキシサーバーまたはフレーム化されたWebサイトをホストすることです。また、ポート80を8080にリダイレクトできるリダイレクトサービスがあります。

于 2013-03-16T23:09:14.953 に答える