Nginx踩坑记录

记录下nginx配置踩过的坑,主要是在windows使用时坑较多

后台运行

需在配置里加上

daemon on;

然后启动

start nginx -c <配置文件路径>

SSL证书

基本配置如下

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain;
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  
    ssl_certificate_key cert/cert-file-name.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; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #Web网站程序存放目录。
        index index.html index.htm;
    }
}

需要特别注意的是,如果在windows中使用,证书文件目录要用双斜杠() # 开启文件列表

    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;

静态资源配置

    location /img/ {
        alias D:\data\img\;
        add_header Access-Control-Allow-Origin *;
    }
  • 需要注意alias 和root的区别

proxy_pass 后面的url 加与不加/

location /api/ {
    proxy_pass http://127.0.0.1:7653/;
    .....
}

随便放下location的优先级

  1. 正则匹配 location ~ /index { }
  2. 不区分大小写的正则匹配 location ~* /index { }
  3. 匹配路径的前缀,如果找到停止搜索 location ^~ /index { }
  4. 精确匹配 location = /index { }
  5. 普通路径前缀匹配 location /index { }
  6. 优先级: 4 > 3 > 2 > 1 > 5

回到正题,下面两个配置到底啥区别

# 配置1
location /api/ {
    proxy_pass http://127.0.0.1:7653/;
    .....
}
# 配置2
location /api/ {
    proxy_pass http://127.0.0.1:7653;
    .....
}

假设我们在浏览器里面输入的路径为https://***/api/a1,那么配置1实际访问的接口是是http://127.0.0.1:7653/a1,而配置2实际访问的接口是是http://127.0.0.1:7653/api/a1。其实记住一个口诀就行了,来吧下面的话复读三遍

加杠不加location,不加杠就加location

最后发放上玩则会那个的转发配置

    location /api/ {
        proxy_pass http://127.0.0.1:7653/;
        proxy_set_header Host $Host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header REMOTE-HOST $remote_addr;
        add_header X-Cache $upstream_cache_status;
        proxy_set_header X-Host $host:$server_port;
        proxy_set_header X-Scheme $scheme;
        proxy_connect_timeout 30s;
        proxy_read_timeout 86400s;
        proxy_send_timeout 30s;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇