二话不说,先上配置信息
#user nobody;
worker_processes 1;
events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;client_max_body_size 100M;sendfile on;keepalive_timeout 65;server {listen 80;# server_name localhost;#配置服务器地址(这里域名和ip都配置了)server_name **.com,www.***.com,47.96.82.59;#用户端location / {root ./html/user;try_files $uri $uri/index.htmlindex index.html index.htm;}#商家端location /move {alias ./html/technician-terminal;try_files $uri $uri/index.htmlindex index.html index.htm;}#管理端location /admin {alias ./html/admin-pc;try_files $uri $uri/index.htmlindex index.html index.htm;}#通过nginx代理,在服务器上做文件服务,这个files是访问前缀,alias是需要代理的目标文件位置(/files/ 为服务器根目录)location /files/ {alias /files/; # 静态文件目录的别名}#代理转发API接口,前端页面可通过域名加prod-api的形式调用后端接口location /prod-api/ {#这里接的是ip+端口号,指向具体的服务器proxy_pass http://178.89.89.145:6001/;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Real-IP $remote_addr;}#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;}}# HTTPS server#server {#https对应的SSL端口,需要暴露出来listen 443 ssl;#服务域名server_name www.****.com;#ssl证书,证书需要下载下了,放到NGINX配置里面,放到conf目录中,建立cert文件夹,在cert文件中存放两个证书文件ssl_certificate cert/****.com.pem;ssl_certificate_key cert/****.com.key;#用于配置SSL会话缓存。通过配置ssl_session_cache,Nginx可以缓存之前建立的SSL会话信息,以便在客户端再次发起连接时快速恢复会话,#从而减少SSL握手的时间和资源消耗。这种缓存机制可以提高SSL连接的建立速度,进而提升服务器的性能和响应速度ssl_session_cache shared:SSL:1m;#参数用于指定客户端可以重用会话参数的时间。一旦超过这个时间,会话将不再可用ssl_session_timeout 5m;#加密方式ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。ssl_prefer_server_ciphers on;location / {#这个是类似于跳转地址一样的东西,也就是服务域名(个人理解),这个域名必须是http得,否则会跨域proxy_pass http://www.****.com/;}}}
这一看配置文件就懂了吧,啥东西都有注释,写的明明白白的,这里面强调一下,就是https的最后一个类似于跳转链接的配置,这个一定要写域名,和服务地址那边的域名要保持一直,不然就有可能产生https的跨域问题,别的也没啥了,挺简单的一个配置,如有缺少说明,或者说明不对的,欢迎指正,这个配置文件是可用的,可以直接贴上去用,当然,配置SSL的环境数据,还是需要单独处理一下的,不会处理的,可以参考nginx安装SSL