自家有个linux服务器,上面放了个网页,运行了一个py程序提供查询。
通过自有域名定向到一个frp服务器上,来进行公网访问。这个frp服务器提供了一个公网域名,以及一个ssh端口8765。这个端口绑定了自己的22端口,用于ssh穿透访问。还提供了另外2组端口映射用于其他应用。
现在这个网页需要向服务器的py 应用发起get请求。请问请求的地址和端口号,服务器监听的端口号应该如何配置?
该回答引用ChatGPT
假设您的Linux服务器内网IP为192.168.1.100,运行Web服务的端口为8080,您的frp服务器公网IP为123.45.67.89,frp的ssh映射端口为8765,您可以通过以下步骤来配置请求地址和端口号:
在frp服务器上,将本地端口8765与Linux服务器的SSH端口22绑定,以实现SSH穿透访问Linux服务器。
在frp服务器上,将本地端口8080与Linux服务器的Web服务端口8080绑定,以实现公网访问Linux服务器的Web服务。
将Linux服务器的IP地址和Web服务端口号配置为您网页中发起请求的地址和端口号。假设您的网页在客户端访问时的域名为"网站域名",您可以将请求地址配置为http://192.168.1.100:8080,或者将请求地址配置为网站域名,并将网站域名解析到frp服务器的公网IP地址。
配置Linux服务器的防火墙,允许frp服务器的IP地址和端口号对Linux服务器进行访问。例如,可以使用iptables命令来配置。
以上仅是一个示例,具体的配置细节可能会因网络环境、操作系统和应用程序等因素而异。您需要根据自己的实际情况进行调整和配置。
假设您的 Linux 服务器的 IP 地址为 192.168.1.100,提供网页的程序监听的端口号为 8000,则您可以通过访问 http://192.168.1.100:8000/ 来访问该网页。
您提到的 frp 服务器提供了一个公网域名以及一个 SSH 端口 8765,这个端口绑定了自己的 22 端口用于 SSH 穿透访问。假设该公网域名为 example.com,则您可以通过以下命令在本地终端中使用 SSH 进行端口转发:
ssh -N -R 8000:192.168.1.100:8000 -p 8765 user@example.com
其中,-N 表示不执行远程命令,只进行端口转发;-R 表示远程转发;8000:192.168.1.100:8000 表示将 example.com 上的 8000 端口映射到本地的 192.168.1.100:8000;-p 8765 表示使用 SSH 穿透访问 frp 服务器时使用的端口;user@example.com 表示登录的用户名和目标主机名(即 frp 服务器的域名)。
假设您的 Linux 服务器上的 Py 程序监听的是本地端口号 8000,您可以通过 frp 进行端口映射以实现公网访问。
在 frp 服务器上的 frps.ini 配置文件中,配置一个 port 隧道:
makefile
Copy code
[http]
type = tcp
local_ip = 127.0.0.1
local_port = 8000
remote_port = 8080
这里的 local_port 是您的 Py 程序监听的本地端口号,remote_port 是 frp 服务器上公网访问时的端口号,可以根据需要进行修改。
在这个配置生效后,您可以通过 http://frp_server_ip:8080/ 访问您的 Py 程序。如果您需要在请求时指定特定的地址和端口号,可以将 http://frp_server_ip:8080/ 中的 IP 和端口号修改为您的自有域名和 remote_port,例如 http://your_domain_name:8080。
如果您希望通过 HTTPS 访问,可以使用 frp 的 https 隧道配置。需要注意的是,在使用 HTTPS 时,您还需要为您的域名配置 SSL 证书
py程序中指定一个监听的端口号,这个端口号也就是frp服务器里指定的,你请求的地址是公网域名,也就是py程序的地址,请求的端口号也就是frp服务器指定的那个端口号