如题的组合。由于本地写代码,比较不方便搞成SSL,毕竟自签名证书现在大部分浏览器都不认了。而且现在微信开发(小程序)、APP等都只认SSL。所以才有了利用frp来进行SSL穿透。
步骤我说的简单一点。不详细 说了
如果不需要内网穿透,其实就是 nginx + acme.sh 就Over了,只是nginx需要配置一下(记得泛域名使用的是fullchain.cer,普通 的单域名是用的xxx.domain.cer)
如果需要内网穿透,步骤简要如下
1、frps -> 设置vhost_http_port(本次假定为8888) ,然后利用supervisor 管理frp (可以使得frp异常崩溃后能够重启)【或者使用systemd,各人喜欢】
2、设置nginx,server_name 为 *.app.neatstudio.com (以app.neatstudio.com为例),在proxy_pass中选择使用upstream,设置为刚才的vhost_http_port,例:
XML/HTML代码
- upstream app.neatstudio.com {
 - server 127.0.0.1:8888;
 - }
 - server {
 - listen 80;
 - server_name *.app.neatstudio.com;
 - listen 443 ssl;
 - ssl on;
 - ssl_certificate /etc/nginx/ssl/*.app.neatstudio.com.fullchain.cer;
 - ssl_certificate_key /etc/nginx/ssl/*.app.neatstudio.com.key;
 - ssl_session_cache shared:SSL:20m;
 - ssl_session_timeout 10m;
 - ssl_prefer_server_ciphers on;
 - ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 - ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
 - # turn on the OCSP Stapling and verify
 - ssl_stapling on;
 - ssl_stapling_verify on;
 - ssl_trusted_certificate /etc/nginx/ssl/*.app.neatstudio.com.fullchain.cer;
 - add_header Strict-Transport-Security "max-age=31536000";
 - location / {
 - proxy_pass http://app.neatstudio.com;
 - include /etc/nginx/proxy_params;
 - }
 - }
 
3、在本地(或者任意一台想有https的服务器上)安装frpc,设置subdomain就行了,例:
XML/HTML代码
- [test.app.ns.com]
 - type=http
 - port=80
 - subdomain=test
 
这样就OK了。[]里的test.app.ns.com,为什么取这个名字?是因为。。。frp的客户端中的任意[]包含的TAG,都不能重名(切记)
然后一切Over(因为我使用mac+mamp,所以会更方便的管理域名)

