<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      5. nginx的常見問題

      nginx 配置支持 websocket 連接

              proxy_http_version 1.1;
              proxy_set_header Host $host;
              proxy_set_header Upgrade $http_upgrade;
              proxy_set_header Connection $http_connection;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      
       

      nginx前面有多個反向代理時,proxy的正確設置

      #proxy_redirect off;
      #proxy_set_header Host $host
      
       

      注釋掉這兩行,讓它使用默認配置

      nginx解決跨域問題

      在nginx.conf中編輯

      server {
              location / {
                  root   html;
                  index  index.html index.htm;
                  //允許cros跨域訪問
                  add_header 'Access-Control-Allow-Origin' '*';
              }
       }
      
       

      從http跳轉到https

      項目前期使用http,后期為了安全方面的考慮,啟用了https。 項目架構:前端使用nginx作為多個tomcat實例的反向代理和負載均衡。 實際上只需要在nginx上啟用https即可,使客戶端與nginx之后使用https方式通信,而nginx與tomcat之間依然以http方式通信。

      現在需要將之前客戶端所有的http請求全部都自動重定向為https,只需要在nginx上添加相應配置即可。

      使用rewrite指令

      server {
          listen 80;
          server_name domain.com;
          rewrite ^(.*) https://$server_name$1 permanent;
      }
      server {
          listen 443 ssl;
          server_name domain.com;
          ssl on;
          ssl_certificate     /etc/nginx/ssl/domain.com.crt;
          ssl_certificate_key /etc/nginx/ssl/domain.com.crt;
          # other
      }
      
       

      如果此時nginx作為Tomcat的前端反向代理的話,需要將相應配置放在配置ssl的server塊中。

      使用return指令

      server {
          listen 80;
          server_name domain.com;
          return 301 https://$server_name$request_uri;
      }
      server {
          listen 443 ssl;
          server_name domain.com;
          ssl on;
          ssl_certificate     /etc/nginx/ssl/domain.com.crt;
          ssl_certificate_key /etc/nginx/ssl/domain.com.crt;
          # other
      }
      
       

      如果此時nginx作為Tomcat的前端反向代理的話,需要將相應配置放在配置ssl的server塊中。

      使用error_page指令

      只允許HTTP來訪問時,用HTTP訪問會讓Nginx報497錯誤,然后利用error_page將鏈接重定向至HTTPS上。

      server {
          listen 80;
          listen 443 ssl;
          server_name domain.com;
          ssl on;
          ssl_certificate     /etc/nginx/ssl/domain.com.crt; 
          ssl_certificate_key /etc/nginx/ssl/domain.com.crt;
          # other
          error_page 497 https://$server_name$request_uri;
      }
      
       

      使用error_page指令時,將http和https的監聽配置寫在同一個server塊中,對應的其他配置也需要在該server配置塊中完成。

      需要注意的是,此時需要將error_page指令語句寫在最后,否則不能生效。

      Nginx出現403 forbidden的三種原因

      引起nginx 403 forbidden通常是三種情況:一是缺少主頁文件,二是權限問題,三是SELinux狀態。

      缺少主頁文件

      server {
          listen 80;
          server_name localhost;
          index index.php index.html;
          # index index.html index.htm;
          root /clay/clay1/clay2/;
      }
      
       

      如果在/clay/clay1/clay2/下面沒有index.phpindex.html的時候,直接文件,會報403 forbidden。

      當index文件問index.html時,index指令可以省略不寫

      權限問題

      主要原因是nginx啟動用戶沒有,查看主頁文件的權限

      1)查看nginx啟動用戶

      ps aux | grep "nginx: worker process" | grep -v "grep" | awk '{ print $1 }'
      
       

      2)查看主頁文件權限及遞歸查看主頁文件所在目錄權限

      • 主頁文件,nginx啟動用戶要有r權限,讀取文件內容的權限

      • 遞歸主頁所在的目錄,nginx啟動用戶要有x權限,可以訪問目錄的內容

        遞歸目錄在上述配置文件中是指/clay//clay/clay1//clay/clay1/clay2/這三個目錄

      SELinux為開啟狀態(enabled)

      1)查看當前selinux的狀態

      /usr/sbin/sestatus 
      
       

      2)將SELINUX=enforcing 修改為 SELINUX=disabled 狀態

      vi /etc/selinux/config
      
      #SELINUX=enforcing
      SELINUX=disabled
      
       

      3)重啟生效

      reboot
      
       

      通過nginx實現藍綠發布

      樣例

      nginx.conf通過兩個子配置文件來實現

      include conf.d/v1.conf
      #include conf.d/v2.conf
      
       

      v1.conf

      upstream app_v1 {
      	server 192.168.1.2:8080;
          server 192.168.1.3:8080;
      }
      upstream app_v2 {
          server 192.168.1.3:8080;
          server 192.168.1.4:8080;
      }
      
      server {
          listen 80;
          server_name localhost;
          set $group "app_v1";
          location / {
              proxy_pass http://$group;
          }
      }
      
       

      v2.conf

      upstream app_v1 {
      	server 192.168.1.2:8080;
          server 192.168.1.3:8080;
      }
      upstream app_v2 {
          server 192.168.1.3:8080;
          server 192.168.1.4:8080;
      }
      
      server {
          listen 80;
          server_name localhost;
          set $group "app_v2";
          location / {
              proxy_pass http://$group;
          }
      }
      
       

      有的時候還是結合cookie進行使用

      if ($http_cookie ~* "version=V1") {
      	set $group app_v1;
      }
      
      
       

      nginx allow 多個ip & ipv4的網段表示方法解析

      單看模塊名ngx_http_access_module,很多人一定很陌生,但是deny和allow相比沒一個人不知道的,實際上deny和allow指令屬于ngx_http_access_module.我們想控制某個uri或者一個路徑不讓人訪問,在nginx就得靠它了。

      nginx的訪問控制模塊語法很簡單,至少比apache好理解,apache的allow和deny的順序讓很多初學者抓頭.好了具體看下這個插件的使用方法吧。

      1、安裝模塊

      這個模塊內置在了nginx中,除非你安裝中使用了--without-http_access_module。

      2、指令

      allow 語法: allow address | CIDR | unix: | all; 默認值: — 配置段: http, server, location, limit_except

      允許某個ip或者一個ip段訪問.如果指定unix:,那將允許socket的訪問.注意:unix在1.5.1中新加入的功能,如果你的版本比這個低,請不要使用這個方法。

      deny 語法: deny address | CIDR | unix: | all; 默認值: — 配置段: http, server, location, limit_except

      禁止某個ip或者一個ip段訪問.如果指定unix:,那將禁止socket的訪問.注意:unix在1.5.1中新加入的功能,如果你的版本比這個低,請不要使用這個方法。

      3. allow、deny實例

      location / { deny 192.168.1.1; allow 192.168.1.0/24; allow 10.1.1.0/16; allow 2001:0db8::/32; deny all; }

      從上到下的順序,類似iptables。匹配到了便跳出。如上的例子先禁止了192.16.1.1,接下來允許了3個網段,其中包含了一個ipv6,最后未匹配的IP全部禁止訪問. 在實際生產環境中,我們也會使用nginx 的geo模塊配合使用,有興趣的請參考ttlsa相關文章nginx geo使用方法open in new window.

      nginx訪問控制模塊要數nginx里面最簡單的指令,只要記住你想禁止誰訪問就deny加上IP,想允許則加上allow ip,想禁止或者允許所有,那么allow all或者deny all即可.

      但是具體的配置出現很多問題

      簡單一點舉例說明: ip段:10.0.0.1-10.0.0.255 的表示方法:10.0.0.0/24 ip段:10.0.0.1-10.0.255.255 的表示方法:10.0.0.0/16 ip段:10.0.0.1-10.255.255.255 的表示方法:10.0.0.0/8

      利用主機數來計算

      1)將主機數目轉化為二進制來表示

      2)如果主機數小于或等于254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,為 N,這里肯定 N<8。如果大于254,則 N>8,這就是說主機地址將占據不止8位。

      3)使用255.255.255.255來將該類IP地址的主機地址位數全部置1,然后從后向前的將N位全部置為 0,即為子網掩碼值。

      如欲將B類IP地址168.195.0.0劃分成若干子網,每個子網內有主機700臺:

      1. 700=1010111100
      2. 該二進制為十位數,N = 10
      3. 將該B類地址的子網掩碼255.255.0.0的主機地址全部置 1,得到255.255.255.255 然后再從后向前將后 10位置0,即為: 11111111.11111111.11111100.00000000 即255.255.252.0。這就是該欲劃分成主機為700臺的B類IP地址 168.195.0.0的子網掩碼。

      二進制表(表1)

      0 0 0 0 0 0 0 0

      128 64 32 16 8 4 2 1

      CIDR值(表2)

      子網掩碼 CIDR值

      255.0.0.0 /8

      255.128.0.0 /9

      255.192.0.0 /10

      255.224.0.0 /11

      255.240.0.0 /12

      255.248.0.0 /13

      255.252.0.0 /14

      255.254.0.0 /15

      255.255.0.0 /16

      255.255.128.0 /17

      255.255.192.0 /18

      255.255.224.0 /19

      255.255.240.0 /20

      255.255.248.0 /21

      255.255.252.0 /22

      255.255.254.0 /23

      255.255.255.0 /24

      255.255.255.128 /25

      255.255.255.192 /26

      255.255.255.224 /27

      255.255.255.240 /28

      255.255.255.248 /29

      255.255.255.252 /30

      posted @ 2024-07-09 15:18  david_cloud  閱讀(64)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 响水县| 波多野无码中文字幕av专区| 成人免费A级毛片无码片2022 | 翼城县| 日本一级午夜福利免费区| 欧美变态另类zozo| 国产真人无遮挡免费视频| 图片区偷拍区小说区五月| 国产精品久久久久久久久电影网| 一区二区不卡国产精品| 中国少妇人妻xxxxx| 色天使亚洲综合一区二区| 色综合久久综合中文综合网| 免费又黄又爽又猛的毛片| 北岛玲中文字幕人妻系列| 亚洲综合一区二区三区不卡| 狠狠色噜噜狠狠亚洲AV| 国产免费福利网站| 日本视频一两二两三区| 大香伊蕉在人线国产免费| 易门县| 色欧美片视频在线观看| 日韩一区二区在线看精品| 国产偷人爽久久久久久老妇app| 毛葺葺老太做受视频| 中文有无人妻vs无码人妻激烈| 亚洲人成网7777777国产 | jizzjizz日本高潮喷水| 国产精品午夜福利在线观看| 亚洲顶级裸体av片| 国产suv精品一区二区四| 亚洲成精品动漫久久精久| 山东省| 天堂在线最新版在线天堂| 亚洲日本VA午夜在线电影| 固阳县| 亚洲综合伊人久久大杳蕉| 2020年最新国产精品正在播放 | 欧美亚洲国产日韩一区二区 | a级黑人大硬长爽猛出猛进| 狠狠色丁香婷婷综合尤物|