首先是,你需要去弄到一个SSL的证书,并获取一个域名与域名对应的ICP备案,这需要花一点钱。
当你获取一个域名后,你可以将这个域名所挂载的DNS服务器进行域名解析配置,正常情况下可以进行@格式或者A格式的直接80端口IP映射解析。除此以外,如果你希望能够进行一次443的SSL层的映射解析,那么你可以通过CA证书分发网站为你提供的主机域与描述符,搭配起来完成DNS的证书验证。当你完成DNS的证书验证后,就可以前往你的服务器进行nginx相关的方向代理配置了。
nginx反向代理配置参考
server {
# SSL访问端口443开启
listen 443 ssl;
# 填写证书绑定的域名
server_name kaoqi.xyz;
# 证书文件位置
ssl_certificate /www/sites/halo.localhost/ssl/kaoqi.xyz_bundle.crt;
# 私钥文件位置
ssl_certificate_key /www/sites/halo.localhost/ssl/kaoqi.xyz.key;
# 加密套件与协议配置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
# 其他配置
index index.php index.html index.htm default.php default.htm default.html;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
access_log /www/sites/halo.localhost/log/access.log;
error_log /www/sites/halo.localhost/log/error.log;
location ^~ /.well-known/acme-challenge {
allow all;
root /usr/share/nginx/html;
}
location /wangpan/ {
proxy_pass http://127.0.0.1:5000;
}
location / {
proxy_pass http://127.0.0.1:8080;
}
include /www/sites/halo.localhost/ssl/*.conf;
http2 on;
}注意,这里有一个坑,1panel本身使用的nginx的这个代理(即暴露给你的那个1panel面板的服务器)并不是使用绝对路径的,所以需要把绝对路径前面的/opt/1panel拿掉,从www开始写路径作为这个面板所在docker里nginx的绝对路径。