当前位置: 首页 > news >正文

【Nginx配置域名以及ssl证书】

在这里插入图片描述

/usr/local/nginx/conf 下创建 ssl 目录用于存储证书,方便引用和查找
配置代理转发
编辑 /usr/local/nginx/conf/nginx.conf 配置文件,配置代理转发

user root;worker_processes  2;
#worker_cpu_affinity 01 10;
#error_log  logs/error.log;
#pid        /app/nginx/conf/nginx.pid;
#worker_rlimit_nofile 65535;events {use epoll;worker_connections  10240;
}http {# --起始;这个是基础配置,可以直接复制不用修改include       mime.types;default_type  application/octet-stream;server_tokens off;gzip on;gzip_min_length 1k;gzip_buffers 16 8k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types  text/css text/xml application/javascript application/atom+xml application/rss+xml text/plain application/json application/x-javascript application/xml text/javascript;gzip_disable "MSIE [0-6]\.";gzip_vary on;server_names_hash_bucket_size 128;client_header_buffer_size 1k;large_client_header_buffers 4 8k;client_max_body_size 6G;client_body_timeout  5;client_header_timeout 20;open_file_cache max=65535 inactive=20s;open_file_cache_valid 30s;open_file_cache_min_uses 2;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;proxy_http_version 1.1;proxy_buffer_size 16k;proxy_buffers 8 1M;proxy_busy_buffers_size 2M;rewrite_log on;proxy_connect_timeout 600s;#proxy_connect_read_timeout 600s;#proxy_connect_send_timeout 600s;client_body_buffer_size  512k;proxy_max_temp_file_size 5120m;proxy_temp_file_write_size 1M;proxy_buffering    off;proxy_request_buffering off;#proxy_temp_path   /app/servers/nginx/proxy_temp;#proxy_cache_path  /app/servers/nginx/proxy_temp/cache levels=2:2:2   keys_zone=cache_go:200m inactive=5d max_size=7g;#log_format  access  '$time_iso8601|$http_x_forwarded_for|$remote_addr|$http_host|$request_time|'#                '$upstream_response_time|"$request"|$status|$body_bytes_sent|$request_length|'#                '"$http_referer"|"$http_user_agent"|$upstream_addr|"$http_cookie"| $upstream_cache_status |';#access_log  logs/access_http.log  access;sendfile        on;tcp_nopush      on;tcp_nodelay     on;keepalive_timeout  65;send_timeout       600;# --结束;这个是基础配置,可以直接复制不用修改# 配置WSS使用map $http_upgrade $connection_upgrade {default upgrade;'' close;}# 配置upstream模块,需要转发的内网IP和端口地址upstream a_server_web {server 198.16.0.100:9200  max_fails=3 fail_timeout=30s;}upstream b_server_web {server 198.16.0.128:9300  max_fails=3 fail_timeout=30s;}upstream c_server_web {server 198.16.0.99:9400  max_fails=3 fail_timeout=30s;}# 这个是默认的http配置,不用改动(具体看项目需求,这里只做https的教程)server {listen       80;server_name  localhost;rewrite ^(.*)$  https://$host$1 permanent;#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}# 配置a_server、b_server的https代理转发server {# 指定SSL访问端口,用于域名申请时映射的端口listen       8100 ssl;# 配置域名+端口地址server_name  ttcs.wser.com:12510;# 域名的SSL证书ssl_certificate /usr/local/nginx/conf/ssl/ttcs.wser.com.pem;# 域名的SSL私钥ssl_certificate_key /usr/local/nginx/conf/ssl/ttcs.wser.com.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;ssl_prefer_server_ciphers on;root html;index index.html index.htm;# a_server-小程序接口,小程序不能用路由分转接口,所以每个域名只能对应一个无路由的后端接口提供给单个小程序使用location / {# 这个转接的是内网服务a_server服务的后端统一网关端口proxy_pass http://198.16.0.100:9201/;}# a_server-前端location /a_web/ {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-real-ip $remote_addr;proxy_set_header Host $host;proxy_buffering off;# 这里的路径就是上面配置的upstream模块proxy_pass  http://a_server_web/;}# a_server-静态资源,这个配置是前端的静态图片之类的文件# 这里需要前端配合将生成的静态资源文件夹(默认为assets)改为 a_staticlocation ~* ^/a_static/.*\.(gif|jpg|jpeg|bmp|png|svg|ico|otf|ttf|txt|js|css)$ {proxy_pass http://a_server_web;expires      12h;}# a_server-后端,通过这个访问地址可以进行上传文件之类的操作# 这里需要前端配合将调用后端的路由api改成b_api# 同时,在内网使用Nginx部署前端服务时,调用后端的路由解析也应该是 b_apilocation ^~ /a_api/ {# 这里是后端的统一网关端口proxy_pass http://198.16.0.100:9201/;}# b_server-前端location /b_web/ {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-real-ip $remote_addr;proxy_set_header Host $host;proxy_buffering off;# 这里的路径就是上面配置的upstream模块proxy_pass  http://b_server_web/;}# b_server-静态资源,这个配置是前端的静态图片之类的文件# 这里需要前端配合将生成的静态资源文件夹(默认为assets)改为 b_staticlocation ~* ^/b_static/.*\.(gif|jpg|jpeg|bmp|png|svg|ico|otf|ttf|txt|js|css)$ {proxy_pass http://b_server_web;expires      12h;}# b_server-后端,通过这个访问地址可以进行上传文件之类的操作# 这里需要前端配合将调用后端的路由api改成b_api# 同时,在内网使用Nginx部署前端服务时,调用后端的路由解析也应该是 b_apilocation ^~ /b_api/ {# 这里是后端的统一网关端口proxy_pass http://198.16.0.128:9301/;}}# 配置c_server的https代理转发server {# 指定SSL访问端口,用于域名申请时映射的端口listen       8200 ssl;# 配置域名+端口地址server_name  lttc.wser.com:11880;# 域名的SSL证书ssl_certificate /usr/local/nginx/conf/ssl/lttc.wser.com.pem;# 域名的SSL私钥ssl_certificate_key /usr/local/nginx/conf/ssl/lttc.wser.com.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;ssl_prefer_server_ciphers on;root html;index index.html index.htm;# c_server-前端location /c_web/ {proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-real-ip $remote_addr;proxy_set_header Host $host;proxy_buffering off;# 这里的路径就是上面配置的upstream模块proxy_pass  http://c_server_web/;}# c_server-静态资源,这个配置是前端的静态图片之类的文件# 这里需要前端配合将生成的静态资源文件夹(默认为assets)改为 c_staticlocation ~* ^/c_static/.*\.(gif|jpg|jpeg|bmp|png|svg|ico|otf|ttf|txt|js|css)$ {proxy_pass http://c_server_web;expires      12h;}# c_server-后端,通过这个访问地址可以进行上传文件之类的操作# 这里需要前端配合将调用后端的路由api改成c_api# 同时,在内网使用Nginx部署前端服务时,调用后端的路由解析也应该是 c_apilocation ^~ /c_api/ {# 这里是后端的统一网关端口proxy_pass http://198.16.0.99:9401/;}# c_server-后端WebSocket,因为是https所有要使用wss做链接location ^~ /c_wss/ {proxy_http_version 1.1;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_read_timeout 36000s;proxy_send_timeout 36000s;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Host $server_name;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";# 这里是具体后端模块的端口+路由进行访问proxy_pass http://198.16.0.99:9304/c_wss/;}}}

相关文章:

  • 学习黑客5 分钟深入浅出理解Windows User Accounts, Profiles, and Permissions
  • Spring Boot 的 CommandLineRunner
  • Docker原理与使用教程
  • WebSocket集成方案对比
  • 测试文章标题01
  • 用Trae+Claude写一个学习网络基础的小网站
  • 【Python 变量类型】
  • 日常组件复用与基于构件开发的本质区别
  • MySQL 学习(七)undo log、redo log、bin log 的作用以及持久化机制
  • 多令牌预测Multi-Token Prediction(MTP)
  • 高防云的主要优势表现在哪些方面?
  • RabbitMQ 工作模式
  • Android音频解码中的时钟同步问题:原理、挑战与解决方案
  • Power BI 实操案例,将度量值转化为切片器(动态切换分析指标)
  • Redis——达人探店
  • 产品思维30讲-(梁宁)--实战2
  • 【Linux】在Arm服务器源码编译onnxruntime-gpu的whl
  • LeRobot 项目部署运行逻辑(七)—— ACT 在 Mobile ALOHA 训练与部署
  • 系统架构-嵌入式系统架构
  • python-75-Nacos技术之Python+Nacos实现微服务架构
  • 摩根士丹利:对冲基金已加码,八成投资者有意近期增配中国
  • “影像上海”中的自媒体影像特展:无论何时,影像都需要空间
  • 2025年两岸关系研讨会在上海开幕
  • 家电维修担心遇“李鬼”?上海推动“物业+专业服务”进社区
  • 侧记|青年为何来沪创新创业?从这一天寻找答案
  • 呼和浩特推进新一轮国企重组整合:杜绝一项目一公司、一业务一公司