原理啥的就不说了,先学会怎么用,后面同学们在慢慢补充原理吧
nginx.conf配置,文件路劲在…/nginx/conf/nginx.conf
- 找到https server {…}这一段,默认是注释的,可以放开注释,也可以照着写一个新的,主要看我写的注释这一部分吧
server {
listen 8088; // 监听的服务端端口,可以用默认的80,其实都无所谓
listen 8443 ssl; // ssl也是https访问的端口默认是443
server_name aaa.bbb.ccc; // 这里是你的域名,注意不需要写成https://aaa.bbb.ccc
ssl on;
ssl_certificate cert/aaa.bbb.ccc.pem; // 这里是域名的证书秘钥,必须要有,可以在网站下载
ssl_certificate_key cert/aaa.bbb.ccc.key; // 这里是域名的证书秘钥,必须要有,可以在网站下载
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;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1/; // 这里的地址就要看你的页面访问地址,有些也会有后缀,看你们系统是怎么写的
expires 0;
add_header Cache-Control no-cache;
add_header Cache-Control private;
add_header Cache-Control-Allow-Origin *; // 跨域相关
}
}
其实到这里配置ssl就完成了,非常的简单
补充 : 如果你的项目是前后端分离的可以继续往下看,两段配置是相对应的,老规矩看注释这一块就好了
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
client_max_body_size 300m;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
server {
listen 8088; // 后端服务的端口
server_name 0.0.0.0; // 服务器ip
client_max_body_size 100m;
location / {
root /usr/local/nginx/dist; // 前端文件位置一般就是dist命名
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
这样子就搞定了,怎么去做反向代理就不具体说了,自己写吧,一般就是这样子
http
location ^~ /XXX {
proxy_pass http://后端服务ip:端口/xxx;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
https
location ^~ /wx {
proxy_pass http://后端服务ip:端口/xxx/wx;
expires 0;
add_header Cache-Control no-cache;
add_header Cache-Control private;
add_header Cache-Control-Allow-Origin *;
}