自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在阿里云、微軟Windows Azure、亞馬遜AWS 上使用Nginx配置http正向代理服務(wù)器

云計(jì)算
摘要:Kubernetes是Google開(kāi)源的容器集群管理系統(tǒng),構(gòu)建于Docker之上,為容器化的應(yīng)用提供資源調(diào)度、部署運(yùn)行、服務(wù)發(fā)現(xiàn)、擴(kuò)容縮容等功能。本文描述了Kubernetes中Volumes的使用情況,Volume是一個(gè)能夠被容器訪問(wèn)的目錄。

作為一個(gè)完全的Linux和Nginx雙料白癡,我覺(jué)得有必要把這幾天的折騰整理一下,以備以后查看。

首先我接到的是5臺(tái)安裝好Linux的云主機(jī),兩臺(tái)阿里云,兩臺(tái)Azure和一臺(tái)AWS。(包括云主機(jī)IP,主機(jī)名,用戶名和密碼)

我要做的事情:

第一步:登錄云主機(jī)。

網(wǎng)上查很多人推薦使用Putty,這里我們老大推薦我是使用X Manager Enterprise 4。

安裝好以后打開(kāi)

運(yùn)行xshell,建立一個(gè)新連接。點(diǎn)擊菜單欄File中的“New”,打開(kāi)新建會(huì)話窗口,在窗口右側(cè)“Name”中填入”主機(jī)名“,“Host”中填入“云主機(jī)IP”,其他保持默認(rèn),點(diǎn)擊“OK”。

點(diǎn)擊OK后會(huì)彈出如下窗體,并多出一個(gè)選項(xiàng)(紅框中)

雙擊上圖紅框中的新增項(xiàng)彈出

輸入用戶名,為了方便下次直接進(jìn)入,選上記住用戶名復(fù)選框。點(diǎn)擊OK。窗體消失。選擇File—Open彈出以下窗體窗體消失。選擇File—Open)

雙擊剛才的新增項(xiàng),彈出以下窗體

填入密碼,選擇記住密碼,點(diǎn)擊OK。登錄成功。

說(shuō)明:登錄云主機(jī)有兩種方式,一個(gè)是上面說(shuō)的用戶名密碼方式,另一種是公鑰,私鑰的方式。為了方便運(yùn)維的同學(xué)幫我將這5太云主機(jī)的遠(yuǎn)程登錄方式都改成了用戶名密碼方式。如果選擇公鑰私鑰方式,是沒(méi)有辦法輸入密碼的。

第二步:查看當(dāng)前Linux版本信息。

因?yàn)楸拘“讖木W(wǎng)上查得配置nginx大多是基于某一版本的Linux的,所以我就想了解下本與主機(jī)的Linux版本。

使用命令:lsb——release -a

我這里安裝的是CenOS 6.5。據(jù)說(shuō)CenOS也是服務(wù)器端使用的最多的Linux版本。

#p#

第三步:安裝Nginx。

Nginx的安裝方式有編譯安裝,yum安裝等,這里我們老大要求使用yum安裝的方式。

首先需要檢查一下,云主機(jī)里有沒(méi)有Nginx安裝文件。

命令:yum list | grep nginx

如上圖所示,我的cenos 里是有nginx安裝包的(因?yàn)槲乙呀?jīng)安裝完了,不可能沒(méi)有啊,哈哈)

說(shuō)明:經(jīng)查找 ,我的的兩臺(tái)阿里云里有nginx安裝包,Azure和AWS中沒(méi)有,不知道阿里云中的是不是運(yùn)維同學(xué)幫忙下好的。而且有的安裝教程上第一步是yum update,yum uodate的作用是升級(jí)現(xiàn)有的軟件和內(nèi)核??梢圆簧?jí),AWS上的Linux版本跟其他4臺(tái)不一樣是Red Hat6.6,我不確定是不是運(yùn)行了yum update造成的。

如果主機(jī)中有nginx安裝文件,運(yùn)行命令:

  1. yum install nginx 

如果主機(jī)中沒(méi)有nginx安裝文件,運(yùn)行命令:

  1. yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 

安裝完成后運(yùn)行:service nginx start 會(huì)顯示[OK]的字樣。


最后在瀏覽器輸出ip 測(cè)試一下,如果出現(xiàn)nginx 的歡迎頁(yè)面,代表已經(jīng)成功了。

如果不成功,運(yùn)行sudo nginx -t 查看配置文件是否有錯(cuò)。

說(shuō)明:這一命令需要root權(quán)限才能正確執(zhí)行,所以前面加sudo 點(diǎn)擊回車后會(huì)提示輸入密碼,重新輸入密碼即可。

如果配置文件有問(wèn)題,怎根據(jù)提示修改配置文件,或者查看錯(cuò)誤日志。不過(guò)一般情況下新安裝的nginx配置文件沒(méi)有修改過(guò),不會(huì)有問(wèn)題,只有修改過(guò)的才可能出錯(cuò)。

(CenOS6.5下安裝的nginx默認(rèn)主配置文件的路徑是: sudo vi /etc/nginx/nginx.conf sudo是以root權(quán)限運(yùn)行 vi是編輯器,后面我會(huì)介紹用到的vi中的幾個(gè)命令。)

既然配置文件基本不會(huì)出錯(cuò),如果看不到歡迎界面的話,有可能是防火墻的問(wèn)題。

關(guān)閉防火墻 命令:sudo service iptables stop

至此,Nginx已經(jīng)全部配置安裝完成。

第四步:配置Nginx http正向代理

首先找到主配置文件,上文中提到過(guò) sudo vi /etc/nginx/nginx.conf

這是用vi編輯器打開(kāi),點(diǎn)“i”進(jìn)入編輯狀態(tài),否則看不全,一直下拉會(huì)找到紅框中的文件路徑,這個(gè)路徑下的文件就是我們要配置的文件。
復(fù)制路徑/etc/nginx/conf.d/ 退出編輯器。下面我說(shuō)一下這里用到的幾個(gè)vi編輯器中命令。

  1. i --進(jìn)入編輯狀態(tài)
  2. Esc --退出編輯狀態(tài)
  3. q --在沒(méi)有修改的情況下退出vi
  4. q! --修改了,但是不想保存,強(qiáng)行退出
  5. wq --修改了,保存并退出

現(xiàn)在我們要找到的是修改的文件 命令:

  1. cd/etc/nginx/conf.d/ --進(jìn)入conf.d文件夾
  2. ls -lsh --ls是查看文件夾下的所有文件, -lsh是顯示文件屬性 并按照時(shí)間排序。這里可以只用 ls
  3. 我們要修改的是default.conf 進(jìn)入這個(gè)文件的編輯狀態(tài):sudo vi default.conf
  4. 點(diǎn)i進(jìn)入編輯狀態(tài)(一下內(nèi)容部分引自網(wǎng)絡(luò))

Nginx 正向代理配置文件:

  1. server { 
  2. resolver 8.8.8.8
  3. resolver_timeout 5s; 
  4. listen 8090
  5. location / { 
  6. proxy_pass $scheme://$host$request_uri; 
  7. proxy_set_header Host $http_host; 
  8. proxy_buffers 256 4k; 
  9. proxy_max_temp_file_size 0
  10. proxy_connect_timeout 30
  11. proxy_cache_valid 200 302 10m; 
  12. proxy_cache_valid 301 1h; 
  13. proxy_cache_valid any 1m; 

Nginx 正向代理配置說(shuō)明(以上沒(méi)有顯示內(nèi)容,注釋掉即可):

1.配置 DNS 解析 IP 地址,比如 Google Public DNS,以及超時(shí)時(shí)間(5秒)。

resolver 這里你要改成你們DNS服務(wù)器的IP (查看dns的命令:cat /etc/resolv.conf);

resolver_timeout 5s;

說(shuō)明:如果自己dns服務(wù)器對(duì)應(yīng)的ip不止一個(gè),網(wǎng)上的解決方案是兩個(gè)ip并排,用空格分開(kāi),如resolver 8.8.8.8 9.9.9.9; 但是我試過(guò)是不行的,現(xiàn)在我只綁定了一個(gè)IP,如果誰(shuí)有解決辦法,希望能得到您的指點(diǎn)。

對(duì)于listen 8090; 這個(gè)是端口是自己制定的,阿里云我用的是80 ,微軟云和aws我用的是8090.

值得一提的是阿里云這些端口是默認(rèn)開(kāi)放的,而微軟與和AWS默認(rèn)只開(kāi)放了22端口,如果用到其他的端口,需要請(qǐng)運(yùn)維幫忙開(kāi)通。

2.配置正向代理參數(shù),均是由 Nginx 變量組成。其中 proxy_set_header 部分的配置,是為了解決如果 URL 中帶 "."(點(diǎn))后 Nginx 503 錯(cuò)誤。

  1. proxy_pass $scheme://$host$request_uri; 
  2. proxy_set_header Host $http_host; 

3.配置緩存大小,關(guān)閉磁盤緩存讀寫減少I/O,以及代理連接超時(shí)時(shí)間。

  1. proxy_buffers 256 4k; 
  2. proxy_max_temp_file_size 0
  3. proxy_connect_timeout 30

4.配置代理服務(wù)器 Http 狀態(tài)緩存時(shí)間。

  1. proxy_cache_valid 200 302 10m; 
  2. proxy_cache_valid 301 1h; 
  3. proxy_cache_valid any 1m; 

不支持代理 Https 網(wǎng)站:

因?yàn)?Nginx 不支持 CONNECT,所以無(wú)法正向代理 Https 網(wǎng)站(網(wǎng)上銀行,Gmail)。

如果訪問(wèn) Https 網(wǎng)站,比如:https://www.google.com,Nginx access.log 日志如下:

  1. "CONNECT www.google.com:443 HTTP/1.1" 400 

#p#

第五步:添加nginx身份驗(yàn)證

身份驗(yàn)證一般有兩種方式,一種是使用ssl 443即證書(shū)的方式,另一種是使用htpasswd的方式,這里為了方便我選擇后者。

最后的效果就類似(不同瀏覽器的界面有所不同):

如果認(rèn)證失敗,就會(huì)報(bào)HTTP錯(cuò)誤:401 Authorization Required。

要實(shí)現(xiàn)這樣的功能,就需要更改服務(wù)器的配置,并設(shè)定好用于登錄的用戶名和密碼。

首先我們需要更改網(wǎng)站的Nginx的server配置,我們找到剛才配置正向代理的那個(gè)配置文件,在lication中添加兩行如下:

  1. cd/etc/nginx/conf.d/ 
  2. sudo vi default.conf 
  3. server { 
  4. # ... 
  5. location / { 
  6. # 添加下面兩行 
  7. auth_basic "Restricted"; (Restricted為出錯(cuò)后的提示語(yǔ)) 
  8. auth_basic_user_file proxy.pwd; (proxy.pwd是秘鑰文件的文件名,這里應(yīng)為秘鑰文件的完整路徑,如下圖) 
  9. # ... 
  10. # ... 

接下來(lái)需要?jiǎng)?chuàng)建htpasswd文件,這里有一些細(xì)節(jié)需要注意:

htpasswd的路徑:

和nginx.conf在同一級(jí)目錄即可。CentOS服務(wù)器的話一般就在/etc/nginx/下面。

htpasswd的內(nèi)容:

每一行為一個(gè)用戶,格式為username:password。但是要注意,這里的password不是明文,而是將password進(jìn)行crypt(3)加密后的字符串。

你可以使用一段PHP代碼來(lái)生成htpasswd中的password: 也可以使用網(wǎng)上的現(xiàn)在生成工具(不推薦),我的文件是老大直接給我的Python生成的。

  1. // 密碼明文 
  2.  
  3. $password = 'some password'
  4.  
  5. // 對(duì)密碼進(jìn)行加密 
  6.  
  7. $password = crypt($passwordbase64_encode($password)); 
  8.  
  9. // 獲得加密后的密碼 
  10.  
  11. echo $password

然后將字符串寫入htpasswd文件中:

  1. username1:xucqMk13TfooE 
  2. username2:YXTfb3xWKOMBM 
...

htpasswd的權(quán)限:

需要更改htpasswd文件的權(quán)限,執(zhí)行如下命令:

  1. sudo chown root:www-data htpasswd 
  2. sudo chmod 640 htpasswd  

當(dāng)上面的準(zhǔn)備工作都做好之后,我們就可以重新載入或者重啟Nginx服務(wù)器了:

  1. sudo /etc/init.d/nginx reload  

說(shuō)明:密碼文件導(dǎo)入的方法有很多,可以通過(guò)Xmanager Enterprise 4中的Xftp,還可以使用pscp.exe,如果倒不進(jìn)去的話還有最原始的辦法,在/etc/nginx/ 下新建文件proxy.pwd 然后將秘鑰中的文本考進(jìn)去即可。

原文鏈接:http://blog.csdn.net/llkaximoduo/article/details/42214721

責(zé)任編輯:Ophira 來(lái)源: llkaximoduo的專欄
相關(guān)推薦

2019-07-09 14:57:09

代理服務(wù)器NginxHTTPS

2018-11-05 09:34:43

2018-04-17 12:10:40

2012-09-18 09:55:28

2020-08-02 15:00:40

SquidSSH系統(tǒng)運(yùn)維

2013-11-12 09:25:55

微軟Azure亞馬遜AWS

2009-02-06 10:54:00

Necsocks5Windows代理服務(wù)代理服務(wù)器

2019-04-08 08:39:47

Nginx代理服務(wù)器

2016-10-19 08:36:51

2017-08-28 08:25:06

AWSAzure云存儲(chǔ)

2024-11-21 09:18:08

2018-11-28 09:28:28

無(wú)服務(wù)器架構(gòu)網(wǎng)絡(luò)服務(wù)

2013-02-21 08:38:24

微軟Azure亞馬遜Web服務(wù)云服務(wù)

2019-06-27 08:43:26

服務(wù)器Nginx反向代理

2009-02-10 15:42:00

代理服務(wù)器代理服務(wù)器設(shè)置

2010-03-24 17:01:00

Nginx代理服務(wù)器

2024-02-20 14:53:01

2009-02-12 15:45:00

Linux代理服務(wù)器cache

2017-12-27 09:49:35

HTTP服務(wù)器反向

2012-01-17 09:52:51

亞馬遜云計(jì)算Windows服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)