nginx配置https,nginx起web服务,nginx配置minio,nginx配置http跳https

nginx.conf


 user root;
 
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;


    log_format  main  '$remote_addr $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '$http_user_agent $http_x_forwarded_for $request_time $upstream_response_time $upstream_addr $upstream_status';
                  
     
    access_log  logs/access.log  main;
    include /usr/local/nginx/conf.d/*.conf; 
    
 
}

conf.d下

配置映射服务



 
server{
 
server_name 域名;

 

location / {
 proxy_pass http://127.0.0.1:端口;
}

#静态文件
location /assets/ {
 alias /home/assets/;
}
}

 

h5启动服务

server {
      listen       端口;   
      root /home/路径;   #如果NGINX非root用户运行,不要放在root目录下
      autoindex on;             #开启索引功能
      autoindex_exact_size off; # 关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)
      autoindex_localtime on;   # 显示本机时间而非 GMT 时间
      location / {
        try_files $uri $uri/ /index.html;
     }
}

h5域名指向服务

 
server{

server_name h5域名;

location / {
 proxy_pass http://127.0.0.1:h5端口;
}

#映射静态服务
location /MP_*.txt{
        alias /home/MP_*.txt;
}
}

 

20240821补充

一个https域名配置web和接口

server {
    listen 80;
    server_name xxx.com;
    
    # HTTP 重定向到 HTTPS
    return 301 https://$host$request_uri;
}


server {
    listen 443 ssl;
    server_name xxx.com;

    ssl_certificate xxx.pem;
    ssl_certificate_key xxx.key;

    # SSL/TLS 配置
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
#        proxy_pass http://127.0.0.1:8081;
        root /data/official_website;
        index index.html;    
    }

      location /ticket/ {
        proxy_pass http://127.0.0.1:8092;
        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;

        # 如果需要去除 "/ticket/" 前缀
         rewrite ^/ticket/(.*) /$1 break;
    }

}

nginx配minio

location ^~ /minio- {
		proxy_set_header Host $http_host;
		proxy_pass http://127.0.0.1:9000; 
		proxy_pass_request_headers on;
		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;
		proxy_connect_timeout 5; 
  	}

### 如何配置 Nginx 实现 MinIO 和 Spring Boot 的 HTTPS 代理 为了使 MinIO 和 Spring Boot 应用程序之间通过 HTTPS 进行安全通信,可以利用 Nginx 作为反向代理服务器来处理 SSL/TLS 加密。以下是详细的配置方法: #### 安装并启动必要的服务 确保已经安装了 MinIO、Spring Boot 应用以及 Nginx,并且这些服务正在运行。 #### 获取或创建 SSL 证书 对于生产环境,建议使用由受信任的 CA 签发的有效 SSL 证书;而对于测试目的,则可以通过 OpenSSL 创建自签名证书: ```bash openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/nginx/ssl/minio.key \ -out /etc/nginx/ssl/minio.crt \ -subj "/C=CN/ST=Beijing/L=Beijing/O=Company Name/CN=localhost" ``` #### 修改 Nginx 配置文件 编辑 `/etc/nginx/sites-available/default` 或者新建一个特定站点配置文件,在其中定义如下内容以设置 HTTPS 反向代理MinIO 和 Spring Boot 后端服务: ```nginx server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/nginx/ssl/minio.crt; # 替换为实际路径 ssl_certificate_key /etc/nginx/ssl/minio.key; # 替换为实际路径 location /minio/ { # 对应于MinIO服务前缀 proxy_pass http://localhost:9000/; 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 https; client_max_body_size 50M; # 根据需求调整最大上传尺寸 add_header Access-Control-Allow-Origin *; # 如果需要跨域访问可保留此行 } location /api/ { # 假设这是指向Spring Boot API接口的位置 proxy_pass http://localhost:8080/; 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 https; client_max_body_size 50M; # 根据需求调整最大上传尺寸 add_header Access-Control-Allow-Origin *; # 如果需要跨域访问可保留此行 } } ``` 上述配置中 `location /minio/` 是针对 MinIO 设置的一个位置块,而 `location /api/` 则用于转发请求给本地监听在不同端口上的 Spring Boot Web 应用[^1]。 完成以上更改之后保存文件,并重启 Nginx 来应用新的配置: ```bash sudo systemctl restart nginx ``` 现在当客户端尝试连接至 `https://yourdomain.com/minio/*` 或者 `https://yourdomain.com/api/*` URL 路径时,它们将会被透明地重定向到相应的内部服务地址上,同时保持整个过程中的数据传输都是经过加密保护的状态下进行。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值