使用frp+nginx内网穿透并配置https

前提

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

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

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

假设对域名aaa.bbb.com开通https访问,将aaa.bbb.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证书,将pem,key两个证书文件放在/etc/nginx/ssl_files文件夹下,命名为server.pem,server.key

创建nginx配置文件

cd /etc/nginx/conf.d/

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

# frp的接收https请求的反向代理
server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        # 访问的域名
        server_name aaa.bbb.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;
        }
}

其中aaa.bbb.com为需要开通https的域名

保存文件

检查Nginx配置是否正确:

nginx -t

出现success字样表示配置成功

重启nginx

nginx -s reload

配置frp客户端

假设将本地1.1.1.1开发服务器中的80端口绑定到aaa.bbb.com域名,即https://aaa.bbb.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 = aaa.bbb.com

保存,重启frpc

systemctl restart frpc

浏览器访问:https://aaa.bbb.com 进行验证

你可能感兴趣的:(linux,nginx,https,服务器,frp)