二话不说,先上配置信息
powershell
#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.html
index index.html index.htm;
}
#商家端
location /move {
alias ./html/technician-terminal;
try_files $uri $uri/index.html
index index.html index.htm;
}
#管理端
location /admin {
alias ./html/admin-pc;
try_files $uri $uri/index.html
index 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