国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

docker安裝nginx并配置通過https訪問的方法

2024-08-30 12:30:09
字體:
來源:轉載
供稿:網友

1. 下載最新的nginx的docker image

$ docker pull nginx:latest

2. 啟動nginx容器

運行如下命令來啟動nginx container

docker run --detach /    --name wx-nginx /    -p 443:443/    -p 80:80 /    -v /home/evan/workspace/wxserver/nginx/data:/usr/share/nginx/html:rw/    -v /home/evan/workspace/wxserver/nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw/    -v /home/evan/workspace/wxserver/nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw/    -v /home/evan/workspace/wxserver/nginx/logs:/var/log/nginx/:rw/    -v /home/evan/workspace/wxserver/nginx/ssl:/ssl/:rw/    -d nginx
  • 映射端口443,用于https請求
  • 映射端口80,用于http請求;
  • nginx的默認首頁html的存放目錄映射到host盤的目錄, /home/evan/workspace/wxserver/nginx/data
  • nginx的配置文件映射到host盤的文件,/home/evan/workspace/wxserver/nginx/config/nginx.conf

這里需要準備如下幾個文件,

1、nginx的配置文件

首先是nginx.conf文件,默認的配置文件如下

#運行nginx的用戶user nginx;#啟動進程設置成和CPU數量相等worker_processes 1;#全局錯誤日志及PID文件的位置error_log /var/log/nginx/error.log warn;pid    /var/run/nginx.pid;#工作模式及連接數上限events {    #單個后臺work進程最大并發數設置為1024  worker_connections 1024;}http {    #設定mime類型  include    /etc/nginx/mime.types;  default_type application/octet-stream;    #設定日志格式  log_format main '$remote_addr - $remote_user [$time_local] "$request" '           '$status $body_bytes_sent "$http_referer" '           '"$http_user_agent" "$http_x_forwarded_for"';  access_log /var/log/nginx/access.log main;  sendfile    on;  #tcp_nopush   on;    #設置連接超時的事件  keepalive_timeout 65;    #開啟GZIP壓縮  #gzip on;  include /etc/nginx/conf.d/*.conf;}

可以看到最后一行還要包含另一個配置文件conf.d/default.conf,用來配置server字段

server {  listen  80;    #偵聽80端口,如果強制所有的訪問都必須是HTTPs的,這行需要注銷掉  server_name www.buagengen.com;       #域名  #charset koi8-r;  #access_log /var/log/nginx/host.access.log main;    # 定義首頁索引目錄和名稱  location / {    root  /usr/share/nginx/html;    index index.html index.htm;  }  #定義錯誤提示頁面  #error_page 404       /404.html;  #重定向錯誤頁面到 /50x.html  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  /usr/share/nginx/html;  }}

2、nginx的默認首頁的html文件

這個html可以自己定義一個,任意的都可以。

這個時候直接通過IP地址就可以訪問nginx定義的這個html文件了。但是這個時候的訪問只是http的,https的訪問還是不行的,需要添加證書到nginx服務器。

3. 通過openssl生成證書

設置server.key,這里需要設置兩遍密碼:

openssl genrsa -des3 -out server.key 1024 

參數設置,首先這里需要輸入之前設置的密碼:

openssl req -new -key server.key -out server.csr

然后需要輸入如下的信息,大概填一下就可以了,反正是測試用的

Country Name (2 letter code) [AU]: 國家名稱State or Province Name (full name) [Some-State]: 省Locality Name (eg, city) []: 城市Organization Name (eg, company) [Internet Widgits Pty Ltd]: 公司名Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: 網站域名Email Address []: 郵箱Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []: 這里要求輸入密碼An optional company name []:

寫RSA秘鑰(這里也要求輸入之前設置的密碼):

openssl rsa -in server.key -out server_nopwd.key

獲取私鑰:

openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

完成這一步之后就得到了我們需要的證書文件和私鑰了

  • server.crt
  • server.key

4. 配置nginx服務器,支持https訪問

把前面一步生成的文件拷貝到host上的ssl目錄,/home/evan/workspace/wxserver/nginx/ssl。

然后修改配置文件default.conf,添加ssl支持,

server {  listen  80;    #偵聽80端口,如果強制所有的訪問都必須是HTTPs的,這行需要注銷掉  listen  443 ssl;  server_name www.buagengen.com;       #域名  # 增加ssl  #ssl on;    #如果強制HTTPs訪問,這行要打開  ssl_certificate /ssl/server.crt;  ssl_certificate_key /ssl/server.key;  ssl_session_cache  shared:SSL:1m;  ssl_session_timeout 5m;   # 指定密碼為openssl支持的格式   ssl_protocols SSLv2 SSLv3 TLSv1.2;   ssl_ciphers HIGH:!aNULL:!MD5; # 密碼加密方式   ssl_prefer_server_ciphers on;  # 依賴SSLv3和TLSv1協議的服務器密碼將優先于客戶端密碼   # 定義首頁索引目錄和名稱   location / {    root  /usr/share/nginx/html;    index index.html index.htm;   }  #重定向錯誤頁面到 /50x.html  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  /usr/share/nginx/html;  }}

重啟nginx容器,現在就可以通過https來訪問nginx的服務器了

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 望谟县| 治县。| 宣汉县| 永泰县| 桂林市| 卢龙县| 永善县| 辽宁省| 黄陵县| 嘉荫县| 黄梅县| 兴化市| 南京市| 南宫市| 哈巴河县| 蓬莱市| 罗源县| 丰宁| 阿坝县| 离岛区| 浦县| 乌审旗| 咸阳市| 泉州市| 醴陵市| 什邡市| 额尔古纳市| 游戏| 黑山县| 南充市| 建阳市| 冀州市| 乾安县| 三明市| 紫阳县| 黑水县| 巫溪县| 山阳县| 雅安市| 平舆县| 忻城县|