docker安装nginx并配置通过https访问
1. 下载最新的nginx的docker image
docker pull nginx:latest

创建挂载路径

2.准备nginx需要的文件
nginx的配置文件
首先是nginx.conf文件,默认的配置文件如下
[root@master ~]# cat /nginx/config/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 server/*.cn;
include /etc/nginx/conf.d/*.conf;
}
可以看到最后一行还要包含另一个配置文件conf.d/default.conf,用来配置server字段
default.conf配置文件
[root@master ~]# cat /nginx/config/conf.d/default.conf
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的默认首页的html文件
这个html可以自己定义一个,任意的都可以

这个时候直接通过IP地址就可以访问nginx定义的这个html文件了。但是这个时候的访问只是http的,https的访问还是不行的,需要添加证书到nginx服务器。
通过openssl生成证书
设置server.key,这里需要设置两遍密码:


说明:
openssl genrsa -des3 -out server.key 1024 //生成私钥
openssl req -new -key server.key -out server.csr //创建签名请求的证书(CSR),生成证书颁发机构,用于颁发公钥
openssl rsa -in server.key.org -out server.key //除去密码以便reload询问时不需要密码
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt //配置nginx最后标记证书使用上述私钥和CSR

这里注意:将原来的service,key重命名,将server_nopwd.key重命名为 server.key
[root@master ~]# cp server.crt /nginx/ssl/
[root@master ~]# cp server.key /nginx/ssl/
[root@master ~]# cp nginx.conf /nginx/config/
[root@master ~]# ls /nginx/config/
conf.d nginx.conf
[root@master ~]# cp default.conf /nginx/config/conf.d/
[root@master ~]# cp 123.html /nginx/data/
启动容器,同时挂载本地路径配置文件,日志路径,证书文件
[root@master ~]# docker run --detach --name nginx-test -p 443:443 -p 80:80 -v /nginx/data:/usr/share/nginx/html:rw -v /nginx/config/nginx.conf:/etc/nginx/nginx.conf/:rw -v /nginx/config/conf.d/default.conf:/etc/nginx/conf.d/default.conf:rw -v /nginx/logs:/var/log/nginx/:rw -v /nginx/ssl:/ssl/:rw -d docker.io/nginx
00b8e78a0dae516cf2e56138d44a5f2cb84f58275758387249f25a2b7386947a


打开浏览器访问

docker安装nginx并配置通过https访问的更多相关文章
- docker安装nginx,配置SSL
nginx安装 下载镜像并测试 1.docker pull nginx 2.docker images nginx 查看我们拉取到本地的nginx镜像IMAGE ID 3.首先测试下nginx镜像是否 ...
- ubuntu安装nginx和设置网站https访问
安装nginx 在控制台 输入 sudo apt-get install nginx 等待安装成功之后.可以打开浏览器.输入你的域名或者ip地址会出现"Welcome to nginx!&q ...
- 使用docker安装nginx并配置端口转发
使用docker安装并运行nginx命令: docker run --name=nginx -p 80:80 -d docker.io/nginx 使用命令: docker exec -it ngin ...
- nginx修改nginx.conf配置可以https访问
修改nginx.conf,参照如下更改配置server { listen 443; server_name abc.com; // 访问域名 ssl on; root /var/www/bjubi.c ...
- 使用docker部署nginx并配置https
我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...
- (五) Docker 安装 Nginx
参考并感谢 官方文档 https://hub.docker.com/_/nginx 下载nginx镜像(不带tag标签则表示下载latest版本) docker pull nginx 启动 nginx ...
- Docker 安装 Nginx 负载均衡配置
Docker 安装 # 1)安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 2)添加Docker软件包源(否则d ...
- docker 安装redis 并配置外网可以访问
1, docker 拉去最新版本的redis docker pull redis #后面可以带上tag号, 默认拉取最新版本 2, docker安装redis container 安装之前去定义我们的 ...
- docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客
原文:docker 安装redis 并配置外网可以访问 - flymoringbird的博客 - CSDN博客 端口映射,data目录映射,配置文件映射(在当前目录下进行启动). docker run ...
随机推荐
- HttpClient基础教程 分类: C_OHTERS 2014-05-18 23:23 2600人阅读 评论(0) 收藏
1.HttpClient相关的重要资料 官方网站:http://hc.apache.org/ API:http://hc.apache.org/httpcomponents-client-4.3.x/ ...
- Android RadioGroup的RadioButton 选择改变字体颜色和背景颜色
RadioGroup <RadioGroup android:id="@+id/client_charge_radiogroup" android:layout_width= ...
- php date mktime 获取时间上的各种值
echo date("Ymd",strtotime("now")), "\n"; echo date("Ymd",str ...
- Docker入门之 - 更换源为国内源,实现快速下载image
原文:Docker入门之 - 更换源为国内源,实现快速下载image 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/artic ...
- Spring ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
http://www.lai18.com/content/9755931.html Spring 容器(Spring 的上下文) https://my.oschina.net/jast90/blog/ ...
- Word2010中插入多级列表编号
https://jingyan.baidu.com/article/3ea5148901919752e61bbafe.html Word2010中插入多级列表编号的三种方法 听语音 | 浏览:8719 ...
- IDEA使用从Eclipse过来的快捷键
1.Eclipse中的ctrl+shift+o --------> Ctrl + Alt + O 2.Eclipse中快捷键是Ctrl+O ---------> MacOS 下是 cmd+ ...
- [Grid Layout] Use the repeat function to efficiently write grid-template values
We can use the repeat() function if we have repeating specifications for columns and rows. With the ...
- C++ 工具类 —— 词条类(Entry)
Entry 以键值对(key-value pair)的形式定义. template <typename K, typename V> struct Entry{ K key; V valu ...
- [NativeScript] Style NativeScript views using the default core theme
The default core theme comes preinstalled and ready to go with every new project. Learn how to use s ...