frp+nginx内网穿透并配置SSL证书实现HTTPS

发布时间:2023/6/16 12:15:32 打印 字号:

前提

一台公网服务器,有自己的域名,有域名证书

安装frp内网穿透服务端和客户端可以参考这篇文章:frp内网穿透之实现内网linux主机访问

公网服务器(frp服务端所在的服务器)安装nginx(略)

假设对域名www.gworg.com开通https访问,将www.gworg.com指向到公网服务器

准备完毕后,接着进行下面的配置


配置frps服务端

登录服务器,前往frps安装目录

cd /usr/local/frp_0.27.0_linux_amd64/

打开配置文件

vim frps.ini

设置虚拟端口,新增如下内容:

vhost_http_port = 7171

保存退出,重启frp

systemctl restart frps


配置Nginx代理

配置https、SSL证书,将pem(crt),key两个证书文件放在/etc/nginx/ssl_files文件夹下,命名为server.pem,server.key

gworg证书文件

创建nginx配置文件

cd /etc/nginx/conf.d/

新增一个conf文件(https_www.gworg.com.conf),输入如下配置:

# frp的接收https请求的反向代理
server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        # 访问的域名
        server_name www.gworg.com;
		# 配置https证书
        ssl_certificate "/etc/nginx/ssl_files/server.pem";
        ssl_certificate_key "/etc/nginx/ssl_files/server.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        location / {
                # 7171对应vhost_http_port
                proxy_pass http://127.0.0.1:7171;
                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 Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                # Expect for doris
                proxy_set_header Expect $http_expect;

                proxy_connect_timeout 7d;
                proxy_send_timeout 7d;
                proxy_read_timeout 7d;
        }
}


其中www.gworg.com为需要开通https的域名

保存文件

检查Nginx配置是否正确:

nginx -t

出现success字样表示配置成功

重启nginx

nginx -s reload


配置frp客户端

假设将本地1.1.1.1开发服务器中的80端口绑定到www.gworg.com域名,即https://www.gworg.com → http://1.1.1.1:80

登录1.1.1.1服务器,安装frpc客户端

cd /usr/local/frp_0.27.0_linux_amd64/

vim frpc.ini

新增如下配置:

[http-aaa]
type = http
local_port = 80
custom_domains = www.gworg.com

保存,重启frpc

systemctl restart frpc

浏览器访问:https://www.gworg.com 进行验证



原文:https://blog.csdn.net/thc1987/article/details/128080744