FRP内网穿透-HTTPS代理Web服务

通过自定义域名访问内网的 Web 服务

本文将介绍使用 自定义域名 通过FRP将内网机器上的web服务映射到外网,并且配置SSL证书,使用 HTTPS协议 访问。

需要使用的工具:

  • 域名一个(解析到 FRP服务端 机器上)
  • 域名证书(若不需要 https 可不需要)
  • NGINX(安装在 FRP客户端 机器上)

1. 配置FRP服务端

  • 配置 frps.toml
    在 frps.toml 文件中添加以下内容,以指定 HTTP 请求的监听端口为 80,HTTPS请求的监听端口为 443:

    toml 复制代码
    # HTTP 类型代理
    vhostHTTPPort = 80
    # HTTPS 类型代理
    vhostHTTPSPort = 443
  • 配置好需重启frps服务

    shell 复制代码
    sudo systemctl restart frps

2. 配置FRP客户端

  • 配置 frpc.toml
    在 frpc.toml 文件中添加一下内容,以指定访问域名及访问协议:

    toml 复制代码
    [[proxies]]
    name = "web1"
    type = "http"
    localPort = 80
    customDomains = ["test1.example.com"]
    
    [[proxies]]
    name = "web2"
    type = "https"
    localPort = 443
    customDomains = ["test2.example.com"]
  • 配置好需重启frpc服务

    shell 复制代码
    sudo systemctl restart frpc

3. 配置 NGINX

在内网机器上安装好Nginx
将SSL证书上传到内网机器

新增 nginx 配置(HTTP配置):

conf 复制代码
server {
	#HTTP 默认访问端口号为 80
	listen 80; 
	#请填写绑定证书的域名
	server_name test1.example.com; 

	location / {
		root   /opt/test/web1;
		try_files $uri $uri/ /index.html;
		index  index.html index.htm;
	}
}

新增 nginx 配置(HTTPS配置):

conf 复制代码
server {
	#HTTPS默认访问端口号为 443
	listen 443 ssl; 
	#请填写绑定证书的域名
	server_name test2.example.com; 
	#请填写证书文件的相对路径或绝对路径
	ssl_certificate /etc/nginx/conf.d/cert/test2.example.com.crt; 
	#请填写私钥文件的相对路径或绝对路径
	ssl_certificate_key /etc/nginx/conf.d/cert/test2.example.com.key; 
	ssl_session_timeout 5m;
	#请按照以下协议配置
	ssl_protocols TLSv1.2 TLSv1.3; 
	#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
	ssl_prefer_server_ciphers on;

	location / {
		root   /opt/test/web2;
		try_files $uri $uri/ /index.html;
		index  index.html index.htm;
	}
}

配置好需 重载nginx配置

shell 复制代码
# 校验nginx配置
sudo nginx -t
# 重载nginx配置
sudo nginx -s reload

4. 访问web服务

分别访问 http://test1.example.comhttps://test2.example.com,能访问则说明配置成功。

上一章:FRP内网穿透-客户端(frpc)

相关推荐
n***33359 小时前
linux redis简单操作
linux·运维·redis
n***44310 小时前
Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
服务器·http·node.js
2***s67211 小时前
【Go】Go语言基础学习(Go安装配置、基础语法)
服务器·学习·golang
xuchaoxin137511 小时前
cdn节点代理的副作用@fail2ban对接cdn封锁恶意请求ip@fail2ban封锁ip有效性问题
运维·网络·cdn·cloudflare
q***046312 小时前
Linux环境下Tomcat的安装与配置详细指南
linux·运维·tomcat
好奇的菜鸟12 小时前
在 WSL 中安装 Docker
运维·docker·容器
x***440112 小时前
linux 设置tomcat开机启动
linux·运维·tomcat
2301_8049475813 小时前
nginx的https的搭建
运维·nginx·https
K***430613 小时前
httpslocalhostindex 配置的nginx,一刷新就报404了
运维·nginx
于齐龙13 小时前
服务器常见问题-FAQ
服务器