phpStudy反向代理解析端口映射

最近处理端口映射问题,找了好多资料什么阿里云DNS域名解析隐性URl配置后还是无效,也尝试了好多网上的方法还是没把问题解决。最后采用方向代理解决了该问题。特学习了PHPstudy反向代理方式故而分享,望大佬指点。
phpStudy反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

  1. 修改httpd.conf

修改方法:打开httpd.conf文件取消以下两行前面注释(#)符号;

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

在这里插入图片描述

  1. 新增vhosts.conf

命令vhosts.conf

ServerName:域名信息
ServerAdmin:邮件信息
ProxyPass说明: 将一个远端服务器映射到本地服务器的URL空间中
ProxyPass语法: ProxyPass [路径]!|url
ProxyPassReverse说明:调整由反向代理服务器发送的HTTP回应头中的URL
ProxyPassReverse语法PrroxyPassReverse [路径] url

在这里插入图片描述

### 配置和访问 `localhost` 端口 9798 为了成功配置并访问 `localhost` 的端口 9798,需考虑几个方面: #### Nginx 或 Web 服务配置 如果使用的是类似于 PHPStudy 这样的集成环境,默认情况下特定端口会指向指定文件夹。对于自定义端口如 9798,则需要编辑相应的服务器配置文件来设置此映射关系[^1]。 对于 Nginx 用户来说,在 `/etc/nginx/sites-available/default` 文件或其他站点配置文件中添加如下内容可以实现该目的: ```nginx server { listen 9798; server_name localhost; location / { root D:/custom/path; # 将此处替换为你希望挂载的具体路径 index index.html index.htm; } } ``` 完成上述更改之后记得重启 Nginx 来应用新的配置: ```bash sudo systemctl restart nginx ``` #### 开放防火墙端口 当遇到即使正确设置了 Nginx 后仍无法通过外部 IP 地址或本机浏览器访问的情况时,可能是因为系统的防火墙阻止了对该端口的请求。此时应该开放对应的 TCP 协议下的目标端口以允许流量进入。命令如下所示[^4]: ```bash firewall-cmd --zone=public --add-port=9798/tcp --permanent firewall-cmd --reload ``` #### WSL2 特殊情况处理 考虑到某些开发者可能会在 Windows Subsystem for Linux (WSL) 下运行其开发环境,特别是版本 2(WSL2),需要注意它与宿主机网络栈之间的差异可能导致一些意外行为。例如,如果不做额外调整的话,宿主机上的应用程序和服务将不会响应来自同一台机器上其他进程发出的目标为 `localhost` 或者 `127.0.0.1` 的连接尝试[^3]。 针对这种情况的一个解决方案是在 WSL2 内部监听所有可用接口而不是仅仅绑定到回环地址(`lo`);这可以通过修改启动脚本来达成——让程序监听 `0.0.0.0:9798` 而不是仅限于 `127.0.0.1:9798`。 另外一种方法就是利用反向代理的方式把对外暴露的服务转发给内部实际提供服务的应用实例。这样做的好处是可以保持原有安全策略不变的同时解决跨平台通信问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值