前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx——ubuntu安装Nginx并配置https

Nginx——ubuntu安装Nginx并配置https

作者头像
凡人飞
发布2020-09-21 11:16:40
4.4K3
发布2020-09-21 11:16:40
举报
文章被收录于专栏:指缝阳光指缝阳光

一、需求

介绍: 我们在部署应用时,希望用到 Nginx ,并配置上 https 。我在网上看了很多文章,感觉都不是很系统。因此写下此文,以备日后使用。

二、安装 Nginx

  1. 获取安装包
代码语言:javascript
复制
wget http://nginx.org/download/nginx-1.17.10.tar.gz
  1. 解压
代码语言:javascript
复制
tar -zxvf nginx-1.17.10.tar.gz
  1. 配置
代码语言:javascript
复制
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module

不过直接直接会报错

代码语言:javascript
复制
./configure: error: invalid option "--with-http_ssl_moudle"

需要安装依赖包

代码语言:javascript
复制
apt-get install gcc
apt-get install libpcre3 libpcre3-dev
apt-get install zlib1g zlib1g-dev
# Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt-get install openssl openssl-dev
sudo apt-get install openssl 
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 libpcre3-dev

然后再运行上面的那一句

安装

代码语言:javascript
复制
make 
make install

三、配置 https

  1. 将 https 的证书存放在 /usr/local/nginx/conf 目录下,我是新建了一个文件夹 cert
在这里插入图片描述
在这里插入图片描述
  1. 编辑配置文件 /usr/local/nginx/conf/nginx.conf 如下:
代码语言:javascript
复制
server {
        listen       80;
        server_name  你的域名;
        return       301 https://你的域名$request_uri;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;

        }
	}

server {
        listen       443 ssl;
        server_name  你的域名;

        ssl_certificate      cert/你的证书crt;
        ssl_certificate_key  cert/你的证书key;

        #ssl_session_cache    shared:SSL:1m;
        #ssl_session_timeout  5m;

        #ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_session_timeout 24h;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers  on;

        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }

        location /pic {
            proxy_pass http://127.0.0.1:8081;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }
    }

四、SpringBoot 配置使用

  1. 配置如下:
代码语言:javascript
复制
server:
  port: 8080
  tomcat:
    remote-ip-header: x-forwarded-for
    protocol-header: x-forwarded-proto
    port-header: X-Forwarded-Port
  use-forward-headers: true
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、需求
  • 二、安装 Nginx
  • 三、配置 https
  • 四、SpringBoot 配置使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档