通过服务端配置nginx即可。
需提前申请好对应的域名证书(可以用宝塔申请好,然后把对应的文件拷贝出来使用)
其中yun.domain.com为域名
nginx配置
server
{
listen 80;
listen 443 ssl http2;
server_name yun.domain.com;
location / {
proxy_pass http://$host:8080;
proxy_set_header Host $host:80;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
#代码拷贝自宝塔面板部署证书后的网站配置
ssl_certificate /frps/yun.domain.com/fullchain.pem;
ssl_certificate_key /frps/yun.domain.com/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
#SSL-END
#代码拷贝自宝塔面板部署证书后的网站配置
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass http://$host:8080;#添加这一行
expires 30d;
}
location ~ .*.(js|css)?$
{
proxy_pass http://$host:8080;#添加这一行
expires 12h;
}
location ~ /.
{
deny all;
}
}
frps中配置不变。
其中vhost_http_port = 8080
frpc中配置http即可。
如果是nextcloud通过这种方式进行配置https的话,需要在nextcloud的配置文件中进行两项配置
'overwriteprotocol' => 'https',
'overwritehost' =>'域名',
这样配置后,可以解决一些小问题,我遇到了在APP登录时会无限循环无法登录。