2023年8月21日 星期一

SpringBoot的application.yml不能带后缀,否则没办法做反向代理。
比如 ip:9999/xxxx 这样

   location ~* ^/(zzzz) {
           proxy_pass http://127.0.0.1:9999;}

类似这样location ~* ^/(),由于proxy_pass 后面不能带路径,只能ip+端口,若springboot需要/xxxx才能访问,则不能配置
或者直接给服务端接口对应的端口配置一个SSL

location / {
proxy_pass http://localhost:8080; # Spring Boot应用程序的端口
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_set_header X-Forwarded-Proto $scheme;
}

server {
   listen 80;
   listen 443 ssl;
   server_name  yp.fjycnet.com;

   #SSL
   ssl_certificate /www/server/panel/vhost/ssl/ypssl/1.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
   ssl_certificate_key /www/server/panel/vhost/ssl/ypssl/1.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
   ssl_session_timeout 5m;
   ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
   #表示使用的加密套件的类型。
   ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
   ssl_prefer_server_ciphers on;

   # For WebSocket upgrade header
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";

   # 打包好的dist目录
   root /home/yp.fjycnet.com/admin/dist/;

   if ($server_port !~ 443){
       rewrite ^(/.*)$ https://$host$1 permanent;
   }

   location ~* ^/(auth|code|admin|gen|weixin|mall|doc|webjars|swagger-resources|upms) {
           proxy_pass http://127.0.0.1:9999;
           #proxy_set_header Host $http_host;
           proxy_connect_timeout 15s;
           proxy_send_timeout 300s;
           proxy_read_timeout 300s;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
       root   html;
    }

    if ($request_uri ~ "/actuator"){
            return 403;
    }
 }
作者:李世民  创建时间:2023-08-21 22:08
最后编辑:李世民  更新时间:2024-06-24 23:19