
一.1-7
行
♾️ text 代码:server {
listen 80;
server_name emolo.cn www.emolo.cn;
# 301 重定向到 HTTPS
return 301 https://emolo.cn$request_uri;
}
listen 80
所指80端口server_name emolo.cn www.emolo.cn;
这里是所指的域名进行301的重定向
return 301 https://emolo.cn$request_uri;
}
这里的意思是将emolo.cn www.emolo.cn都301跳转到emolo.cn这个网址。
{tip type="warning"}上图中的http没有改成https是因为图片中的代码还是我没有加证书的时候改的{/tip}
二.9-19
行
♾️ text 代码:server {
listen 443 ssl;
server_name www.emolo.cn;
# SSL 配置
ssl_certificate /usr/share/nginx/cert/emolo.cn_bundle.crt;
ssl_certificate_key /usr/share/nginx/cert/emolo.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2; # 只使用 TLS 1.2
ssl_ciphers 'HIGH:!DH:!EXPORT:!RC4:!LOW:!aNULL:!eNULL'; # 更加安全的加密套件
ssl_prefer_server_ciphers on;
- 这段代码的
1-3
行是将网址www.emolo.cn
的ssl
给开启 - 这里的
6-7
行是网站证书域与秘钥的所在处,需将修改为证书真实所在位置
三.31-34
行
♾️ text 代码: # URL 重写,确保所有非 www 请求重定向到 www
if ($host != 'www.emolo.cn') {
return 301 https://emolo.cn$request_uri;
}
- 这里是指将
www.emolo.cn
重写到emolo.cn
,其实这部分可以删除,不会配置就会导致网站重定向次数过多进不去,我刚开始也是这样
{tip type="warning"}由于我刚开始理解错误,这里跟上一处代码是联系的{/tip}
四.36-40
行
♾️ text 代码: location / {
root /usr/share/nginx/html/boyouquan-ui/dist;
add_header Cache-Control no-store always;
try_files $uri /index.html;
}
1.这里root
后的/usr/share/nginx/html/boyouquan-ui/dist
是你dist
文件所在的真实地址,也就是前端文件打包上传服务器的所在地址,这里也一定要填对。
做一下修改
一、9-19行
♾️ text 代码:server {
listen 443 ssl;
server_name www.emolo.cn;
# SSL 配置
ssl_certificate /usr/share/nginx/cert/emolo.cn_bundle.crt;
ssl_certificate_key /usr/share/nginx/cert/emolo.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2; # 只使用 TLS 1.2
ssl_ciphers 'HIGH:!DH:!EXPORT:!RC4:!LOW:!aNULL:!eNULL'; # 更加安全的加密套件
ssl_prefer_server_ciphers on;
这里是将www.emolo.cn
启用https
协议,而31-34
行
# URL 重写,确保所有非 www 请求重定向到 www
if ($host != 'www.emolo.cn') {
return 301 https://emolo.cn$request_uri;
}
这里是将www.emolo.cn
强制重定向到emolo
,且通过https协议,这样会更第一个server起冲突,应该修改为
# URL 重写,确保所有非 www 请求重定向到 www
if ($host != 'emolo.cn') {
return 301 https://emolo.cn$request_uri;
}
这样就是确保非www域通过301重定向到非www域,如需见完整非www域server块设置请查看