一、简要
开发调试小程序需要https协议接口,内网调试除了将端口映射外,就得使用内网穿透来解决了。
二、ssl证书
在腾讯云或者阿里云上申请一年免费ssl证书。
三、软件工具
1. nginx
作用:将https请求转变为http请求
2. frp
下载地址:https://github.com/fatedier/frp/
作用:内网电脑连接服务器实现所谓内网透传功能
四、nginx配置
修改 nginx.conf 文件,如下:
events {
worker_connections 1024;
http {
server {
listen 80;
server_name abc.123.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name abc.123.com; # 你的域名
ssl_certificate abc.123.com_bundle.crt;
ssl_certificate_key abc.123.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8082;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_max_temp_file_size 0;
proxy_redirect off;
proxy_read_timeout 240s;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
五、frp配置
1. frp服务端配置frps.ini
[common]
bind_port=7000
vhost_http_port = 8082
#用于与客户端配对
privilege_token=123456789
2. frp客户端
[common]
server_addr = 10.10.1.11
server_port = 7000
privilege_token=123456789
[web]
type=http
local_ip=127.0.0.1
local_port=8080
custom_domains=abc.123.com
六、运行
nginx使用443端口来接收外来https请求,通过127.0.0.1:8082来转发请求到frps服务端;
frpc客户端通过7000端口与服务器连接,且通过privilege_token作为身份认证;
frpc客户端通过127.0.0.1:8080来访问最终的网站程序。
1. 将nginx拷贝到服务器,执行 start nginx.exe
2. 将frps拷贝到服务器,执行 frps -c frps.ini
3. 将frpc拷贝到需要映射的内网电脑,执行 frpc -c frpc.ini
原文链接:http://www.soskp.com/blogdetail/2968