最近、多くの PHP 開発者を悩ませている問題があります。それは、外部ネットワークからはイントラネットにアクセスできるが、内部ネットワークからはアクセスできないということです。この問題は難しいかもしれませんが、解決するのはそれほど難しいことではありません。
まず、この問題の原因を理解する必要があります。内部ネットワークから外部ネットワークにアクセスする場合、通常はNAT変換を介してアクセスします。 NAT 変換では、外部ネットワーク IP を内部ネットワークにマッピングするだけでなく、要求されたポートもマッピングします。ただし、外部ネットワークから内部ネットワークにアクセスする場合、内部ネットワークのIPはプライベートIPであるため、外部ネットワークから直接アクセスすることはできません。したがって、リバース プロキシを実行して、外部ネットワークが内部ネットワークにアクセスできるようにする必要があります。
この問題を解決する方法を見てみましょう。外部ネットワークのドメイン名が「www.example.com」、内部ネットワーク IP が「192.168.1.100」であると仮定すると、外部ネットワークにリバース プロキシ サービスを展開することでこの問題を解決できます。これは、Nginx や Apache などの一般的なリバース プロキシ サーバーを使用して実現できます。
Nginx では、Nginx 構成ファイルを編集することでリバース プロキシを実装できます。まず、次のコードを Nginx 構成ファイルに追加します。
server { listen 80; server_name www.example.com; location / { proxy_pass http://192.168.1.100:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
このコードの機能は、「www.example.com」へのすべてのアクセス要求をイントラネット内の IP にプロキシすることです。このうち、proxy_pass
パラメーターは、イントラネットの IP アドレスとポート番号を指定します。 proxy_set_header
パラメーターは、プロキシ時のコードをより正確にするためにヘッダー情報を設定するために使用されます。具体的な情報については、Nginx 公式ドキュメントを参照してください。
Apache では、mod_proxy モジュールを使用してリバース プロキシを実装できます。まず、httpd.conf で mod_proxy モジュールを有効にする必要があります。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
次に、構成ファイルに次のコードを追加します。
<virtualhost> ServerName www.example.com ProxyRequests Off ProxyPass / http://192.168.1.100:80/ ProxyPassReverse / http://192.168.1.100:80/ ErrorLog logs/reverse-proxy-error.log CustomLog logs/reverse-proxy-access.log common </virtualhost>
このコードの機能は、次のコードのすべてのペアを削除することです。 「www.example.com」アクセス要求は、イントラネット内の IP にプロキシされます。このうち、ProxyPass
はイントラネット内のIPアドレスとポート番号を指定し、ErrorLog
とCustomLog
はエラーログとアクセスログのパスを設定するために使用されます。それぞれ。具体的な情報については、Apache 公式ドキュメントを参照してください。
要約すると、PHP が外部ネットワークでも内部ネットワークでも開けないという問題を解決するには、外部ネットワークにリバース プロキシ サービスを展開する必要があります。リバースプロキシを設定することで、すべての外部ネットワークリクエストを内部ネットワークにプロキシすることができ、内部ネットワークと外部ネットワーク間の通信を実現します。
以上が外部ネットワークを開くときに PHP が内部ネットワークを開けない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
