准备

  • 申请云主机

  • SSL证书 DNS备案 和 网站管局(工信部)备案 和 网站公安备案

  • 搭建hugo(我选的方案是本地主机frp穿透到云主机上) 所以我的nginx配置如下:

  • http转发到https

root@VM-24-7-ubuntu:/etc/nginx/conf.d# cat j*conf
server {
  listen 80;
  server_name jimmyzhang.top ; # 监听域名
  rewrite ^(.*)$  https://$host$1 permanent; 
}

server {
  listen 443 ssl;
  server_name jimmyzhang.top ; # 监听域名

  server_tokens off;
  keepalive_timeout 5;
  server_name jimmyzhang.top; #填写您的证书绑定的域名,例如:www.cloud.tencent.com
  ssl_certificate /etc/nginx/crt_key/1_jimmyzhang.top_bundle.crt; #填写您的证书文件名称,例如:1_cloud.tencent.com_bundle.crt
  ssl_certificate_key /etc/nginx/crt_key/2_jimmyzhang.top.key; #填写您的私钥文件名称,例如:2_cloud.tencent.com.key
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  # 可参考此 SSL 协议进行配置
  
  underscores_in_headers on; # 允许传递带_ 的参数 默认 off。 比如你研发 header 中带 access_token 。不开启将无法传递
  
  location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:6001;  # 这里的端口号是开启容器时 ngrok 监听的端口号
    #proxy_pass http://[2409:8a02:6c14:8dd0:211:32ff:fe94:bd69]:1313;  # 这里的端口号是开启容器时 ngrok 监听的端口号
  }
}