菜单

kaoqi
kaoqi
发布于 2026-10-15 / 7 阅读
0
0

nginx代理开启SSL

首先是,你需要去弄到一个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的绝对路径。


评论