1. 程式人生 > >Nginx實戰之讓使用者通過使用者名稱密碼認證訪問web站點

Nginx實戰之讓使用者通過使用者名稱密碼認證訪問web站點

有時我們會有這麼一種需求,就是你的網站並不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。那麼我們可以在訪問時要求進行身份認證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。

實驗環境:

現在公司開通了一個內部使用網站為www1.rsyslog.org,要求所有人檢視網頁資訊之前都必須要輸入內定的使用者名稱及密碼方可瀏覽網頁

有關nginx下虛擬主機的搭建請參看http://dreamfire.blog.51cto.com/418026/1141018,這裡使用之前搭建的虛擬主機www1.rsyslog.org進行測試。

www1.rsyslog.org 192.168.100.107

DNS1 192.168.100.102

一、檢視當前系統引數

  1. [[email protected] ~]# uname –r  //檢視系統核心版本號

  2. 2.6.32-279.el6.i686

  3. [[email protected] ~]# cat /etc/redhat-release //檢視系統版本號

  4. Red Hat Enterprise Linux Server release 6.3 (Santiago)

二、編輯虛擬主機配置檔案

  1. [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf //主配置檔案中http欄位中新增以下語句,將虛擬主機的配置檔案指向www1.rsyslog.org

  2. include /usr/local/nginx/server/www1.rsyslog.org;

  3. [[email protected] ~]# vim /usr/local/nginx/server/www1.rsyslog.org

  4. server {

  5.     listen       80;  //監聽埠為80

  6.     server_name  www1.rsyslog.org;  //虛擬主機網址

  7.      location / {

  8.            root   sites/www1;  //虛擬主機網站根目錄

  9.            index  index.html index.htm;  //虛擬主機首頁

  10.            auth_basic "secret";  //虛擬主機認證命名

  11.            auth_basic_user_file /usr/local/nginx/passwd.db; //虛擬主機使用者名稱密碼認證資料庫

  12.        }

  13.        location /status {

  14.                stub_status on;  //開啟網站監控狀態

  15.                access_log /usr/local/nginx/logs/www1_status.log; //監控日誌

  16.                auth_basic "NginxStatus"; }

  17.    }

三、通過htpasswd命令生成使用者名稱及對應密碼資料庫檔案。

  1. [[email protected] server]# htpasswd -c /usr/local/nginx/passwd.db xiaonuo  //建立認證資訊,xiaonuo 為認證使用者名稱

  2. New password: *******  //輸入認證密碼

  3. Re-type new password: ********  //再次輸入認證密碼

  4. Adding password for user xiaonuo

  5. [[email protected] server]#

  6. [[email protected] ~]# chmod 400 /usr/local/nginx/passwd.db  //修改網站認證資料庫許可權

  7. [[email protected] ~]# chown nginx.  /usr/local/nginx/passwd.db  //修改網站認證資料庫屬主和屬組

  8. [[email protected] ~]# cat /usr/local/nginx/passwd.db  //可以看到通過htpasswd生成的密碼為加密格式

  9. xiaonuo:8eZAz7BqcrXmY

  10. [[email protected] ~]#

四、平滑重啟nginx服務

  1. [[email protected] ~]# /etc/rc.d/init.d/nginx reload  //平滑重啟nginx服務

  2. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

  3. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

  4. Reloading nginx:                                           [  OK  ]

五、DNS伺服器上新增www1 A記錄

  1. www1    A   192.168.100.107

六、通過IE訪問www1.rsyslog.org進行測試。

別忘了將網絡卡首選DNS指向192.168.100.102

本文出自 “小諾的Linux開源技術部落格” 部落格,請務必保留此出處http://dreamfire.blog.51cto.com/418026/1141385

相關推薦

Nginx實戰使用者通過使用者名稱密碼認證訪問web站點

有時我們會有這麼一種需求,就是你的網站並不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。那麼我們可以在訪問時要求進行身份認證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。 實驗環境: 現在公司開通了一個內部使用網站為www1.r

啟動Nginx目錄瀏覽功能及 使用者通過使用者名稱密碼認證訪問web站點

[[email protected] extra]# cat w.conf server { listen 80; server_name IP地址; location / { root html/bbs; #資源存放站點 autoindex on; #開啟目錄瀏覽功能 autoindex_

nginx使用者通過使用者名稱密碼認證訪問web頁面

[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf //主配置檔案中http欄位中新增以下語句 user root; worker_processes 1; #error_log logs/error.log; #

Nginx實戰1.1-1.6 Nginx介紹,安裝及配置檔案詳解

1.1 Nginx介紹 HTTP協議發展簡史 加粗  https://coding.net/u/aminglinux/p/nginx/git/blob/master/http/version.md  1991年釋出0.9版,只有GET方法,僅支援html,一個連線一個請求 &n

nginx實戰nginx安裝教程

1、nginx下載    1.1 聯網下載如    wget http://nginx.org/download/nginx-1.9.4.tar.gz    1.2 本地上傳伺服器 2、依賴準備    yum install -y pcre pcre-devel    yum

Spring Boot實戰Filter實現使用JWT進行介面認證 jwt(json web token) 使用者傳送按照約定,向服務端傳送 Header、Payload 和 Signature,

Spring Boot實戰之Filter實現使用JWT進行介面認證 jwt(json web token) 使用者傳送按照約定,向服務端傳送 Header、Payload 和 Signature,幷包含認證資訊(密碼),驗證通過後服務端返回一個token,之後使用者使用該

Spring Boot實戰Filter實現使用JWT進行介面認證

jwt(json web token) 使用者傳送按照約定,向服務端傳送 Header、Payload 和 Signature,幷包含認證資訊(密碼),驗證通過後服務端返回一個token,之後使用者使用該token作為登入憑證,適合於移動端和api j

成為阿里雲架構師的進階路——阿里雲首批ACE認證通過逸疏專訪

自2018年3月阿里雲釋出雲端計算架構師ACE(Alibaba Cloud Certified Expert,阿里雲認證高階工程師)級別認證後,上線不到3個月,吸引了近百位業界優秀從業者參與考試。獲得阿里雲ACE認證,對於業界資深架構師來說,是自身實力的最好證明。阿里雲大學致

設計模式實戰應用二:觀察模式

        觀察者模式的定義        觀察者模式是應用最普遍的設計模式之一。著名的 MVC 模式就是觀察者模式的應用之一;高效能網路應用框架 MINA 中的事件處理器也是觀察者模式的應用之一,一旦有 I/O 事件,所有註冊的 IoHandler 物件會被通知到,我們

設計模式實戰系列@Builder和建造模式

## 前言 備受爭議的`Lombok`,有的人喜歡它讓程式碼更整潔,有的人不喜歡它,巴拉巴拉一堆原因。在我看來`Lombok`唯一的缺點可能就是需要安裝外掛了,但是對於業務開發的專案來說,它的優點遠遠超過缺點。 > 我們可以看一下,有多少專案使用了Lombok(數量還在瘋漲中...) ![](htt

[js高手路]設計模式系列課程-發布,訂閱重構購物車

購物車 代碼重構 發布者訂閱者模式,是一種很常見的模式,比如:一、買賣房子生活中的買房,賣房,中介就構成了一個發布訂閱者模式,買房的人,一般需要的是房源,價格,使用面積等信息,他充當了訂閱者的角色中介拿到賣主的房源信息,根據手頭上掌握的客戶聯系信息(買房的人的手機號),通知買房的人,他充當了發布者的角

C#設計模式五創建模式(Builder)【創建型】

包含 direct linq 自然 解釋 並且 宋體 主板 但是 一、引言 今天我們要講講Builder模式,也就是建造者模式,當然也有叫生成器模式的。在現實生活中,我們經常會遇到一些構成比較復雜的物品,比如:電腦,它就是一個復雜的物品,它主要是由CPU、主板、硬盤、顯卡

Zabbix(六):項目實戰--自動發現nginx調度器及後端web服務集群、自定義參數監控

zabbix 自動發現 nginx項目: 1.自動發現nginx調度器及後端apache構建的web服務集群; 2.使用自定義參數監控調度器上nginx服務的相關統計數據及速率數據; 3.使用自定義參數監控後端apache服務的相關統計數據及速率數據;(選做) 4.制定出nginx調度器及後端apache服務

C#設計模式十七中介模式(Mediator Pattern)【行為型】

[] 過多 深入 理解 申請 代碼實現 控制 name 缺點 原文:C#設計模式之十七中介者模式(Mediator Pattern)【行為型】一、引言 今天我們開始講“行為型”設計模式的第五個模式,該模式是【中介者模式】,英文名稱是:Mediator Pattern。還

C#設計模式十六觀察模式(Observer Pattern)【行為型】

ngx 現實生活 松耦合 mon html 機制 account current 很好 原文:C#設計模式之十六觀察者模式(Observer Pattern)【行為型】一、引言 今天是2017年11月份的最後一天,也就是2017年11月30日,利用今天再寫一個模式,爭取

Orange--------基於nginx/openrestyAPI網關(Gateway)實戰

orange API 網關 Orange 簡介 Orange是一個基於OpenResty的API網關。除Nginx的基本功能外,它還可用於API監控、訪問控制(鑒權、WAF)、流量篩選、訪問限速、AB測試、動態分流等。它有以下特性: 提供了一套默認的Dashboard用於動態管理各種功能和配

【Linux Nginx實戰初識Nginx(一)

Nginx LNMP 實戰 1.Nginx是什麽? nginx是一款高性能的HTTP和反向代理服務器軟件,第一個開源版本誕生於2004年,雖然誕生較晚但經過十多年的發展,已經成為非常流行的web服務器軟件,下圖是w3techs公布的全球網站服務器軟件統計報告 2.Nginx為什麽流行? 首先,ng

【Ubuntu Nginx實戰LNMP的安裝

LNMP 運維 網站 服務 1 什麽是 LNMP? LNMP指的是:Linux+Nginx+MySQL+PHP 安裝LNMP L (Linux) 本章使用的Linux環境是Ubuntu,已經安全,這裏不再贅述。 N 安裝Nginx sudo apt-get install nginx 安裝完

Sping實戰通過JAVA代碼裝配Bean

得到 如何 創建 不能 AC sping 上下 兩臺 java方法   盡管在很多場景下通過組件掃描和自動裝配實現Spring的自動化配置是更為推薦的方式,但有時候自動化配置的方案行不通,因此需要明確配置Spring。比如說,你想要將第三方庫中的組件裝配到你的應用中,在這種

Spring實戰通過XML裝配bean

compact 接受 per 基本 構造 根據 cbe 就是 定義   盡管Spring長期以來確實與XML有著關聯,但現在需要明確的是,XML不再是配置Spring的唯一可選方案。Spring現在有了強大的自動化配置和基於Java的配置,XML不應該再是你的第一選擇了。不