ubuntu nginx配置https服务器


本人头一次配,加起来搞了一天整,踩了不少离线包安装的坑,所以如果觉得技术没到位还是不要用离线安装方式了,还好中途换成apt-get方式,最后配出来了,回头想想傻瓜式是简单的。

  • 一、准备:域名,Ubuntu服务器
  • 二、mysql,java,tomcat,nginx安装
  • 三、申请证书
  • 四、nginx配置

准备

域名自己买,服务器自己买(直接买阿里云就省了第二步)

mysql,java,tomcat,nginx安装

root用户不需要用加sudo

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

sudo apt-get install default-jdk

tomcat下载地址若链接失效可以到官网下,载完传到服务器解压即可(tar -zxvf fileName)

sudo apt-get install nginx
(可能会报错缺失哪些库,如openssl,zlib等,反正直接apt-get即可)

apt-get -f install 报错的一种解决方案

主要看倒数两行信息

‘dpkg -l ’查看所有已安装的软件

根据报错信息,找到出错的软件包,使用“dpkg –purge ERROR_NAME”移除此软件

申请SSL证书

申请证书地址(有免费和收费,按时按需申请,不同的地方稍微有些不一样)

步骤

1、确认需要申请证书的域名

2、生成私钥和csr文件:

在linux机器上执行以下命令生成私钥

openssl genrsa -out server.key 2048

在linux机器上执行以下命令生成csr文件

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

以下黑色标识文字仅供参考,请根据商户自己实际情况进行填写

Country Name: CN //您所在国家的ISO标准代号,中国为CN
State or Province Name:guandong //您单位所在地省/自治区/直辖市
Locality Name:shenzhen //您单位所在地的市/县/区
Organization Name: Tencent Technology (Shenzhen) Company Limited //您单位/机构/企业合法的名称
Organizational Unit Name: R&D //部门名称
Common Name: www.example.com //通用名,例如:www.itrus.com.cn。此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
Email Address: //您的邮件地址,不必输入,直接回车跳过
“extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。

执行上面的命令后,在当前目录下即可生成私钥文件server.key和certreq.csr csr文件

3、将生成的csr文件提交给第三方证书颁发机构申请对应域名的服务器证书,同时将私钥文件保存好,以免丢失。

4、证书申请后,证书颁发机构会提供服务器证书内容和两张中级CA证书,请按证书颁发机器说明生成服务器证书,此处假设服务器证书文件名称为server.crt

5、将生成的私钥文件server.key和服务器证书server.crt拷贝至服务器指定的目录即可进行HTTPS服务器配置

附:证书安装参考地址

nginx配置

定位
which nginx

执行如上命令查到nginx所在位置

执行效果

配置
修改sites-enabled的default文件,别忘了备份
cd /etc/nginx/sites-enabled/
# 在/etc/nginx/nginx.conf中使用是导入/sites-enabled文件夹下的所有文件
# 所以我需要将该文件备份到其他的目录
cp defaut /home/java/bak
# 编辑该文件
sudo vi default
编辑
执行完上述命令后,终端将打开该文件的vi编辑页面,在该文件中编辑(#https后面部分)
server {
        listen 443;
        #自己的域名
        server_name awcar.zghzbckj.com;

        root html;
        index index.html index.htm;

        ssl on;
        ssl_certificate /usr/app/privatekey/testweb.95105813.cn.crt;
        ssl_certificate_key /usr/app/privatekey/awcar.zghzbckj.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout 5m;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;

        location / {
               #指向本地tomcat
               proxy_pass http://127.0.0.1:8080;
        }
}

nginx使用

生成一个脚注1.


  1. 开启服务:nginx;关闭服务:nginx -s -stop
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
要在Ubuntu上安装Nginx配置HTTPS,你可以按照以下步骤进行操作: 1. 首先,更新apt软件包列表并安装Nginx: ``` $ apt-get update $ apt-get install nginx ``` 2. 安装Nginx后,你需要将80端口和443端口打开。你可以通过编辑Nginx配置文件来实现这一点。打开终端并输入以下命令: ``` $ sudo nano /etc/nginx/sites-available/default ``` 3. 在打开的文件中,你需要进行以下修改: - 将 `listen 80 default_server;` 和 `listen [::]:80 default_server;` 改为 `listen 80;` 和 `listen [::]:80;`,这将移除默认的配置。 - 添加以下配置来处理HTTP到HTTPS的重定向: ``` server { listen 80; server_name your_domain; return 301 https://$host$request_uri; } ``` 将 `your_domain` 替换为你的域名。 4. 然后,你需要配置443端口以启用HTTPS。你需要将你的SSL证书和密钥文件放置于适当的位置,并将其路径添加到配置文件中。在你的配置文件中,找到以下部分并进行修改: ``` server { listen 443 ssl; ssl_certificate /path/to/your_certificate.crt; ssl_certificate_key /path/to/your_private_key.key; # 其他HTTPS配置... } ``` 将 `/path/to/your_certificate.crt` 和 `/path/to/your_private_key.key` 替换为你SSL证书和密钥文件的实际路径。 5. 保存并关闭文件。然后,重新加载Nginx以使更改生效: ``` $ sudo nginx -s reload ``` 现在,你的Ubuntu服务器上的Nginx已经配置HTTPS。请确保你已经正确安装了SSL证书和密钥文件,并修改配置文件中的域名和路径以适应你的实际情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Ubuntu 配置 Nginx HTTPS](https://blog.csdn.net/m0_46261993/article/details/127054782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ubuntu 1804 nginx 离线安装包](https://download.csdn.net/download/alfiy/82899070)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Ubuntu安装nginx配置ssl证书](https://blog.csdn.net/daitianjun/article/details/129328986)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

benyuanone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值