一定要用 nginx 的话,以下仅供参考:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name
example.com;
ssl_certificate /xxx.cer;
ssl_certificate_key /xxx.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5:!EXP;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
proxy_pass http://wiz:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
另外可以用 frp 实现 SSL ,证书文件放在本地,不通过 nginx 加证书,以下是官方示例,只需映射到本地的 http 端口即可:
[plugin_https2http]
type = https
custom_domains =
test.yourdomain.complugin = https2http
plugin_local_addr = 127.0.0.1:80
plugin_crt_path = ./server.crt
plugin_key_path = ./server.key
plugin_host_header_rewrite = 127.0.0.1
plugin_header_X-From-Where = frp