CentOS使用nginx部署https服务

nginx安装参考:https://www.cnblogs.com/taiyonghai/p/6728707.html

自签证书生成参考:https://gmd20.github.io/blog/openssl%E7%94%9F%E6%88%90RSA%E5%92%8C%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF%E5%8A%A0%E5%AF%86%E5%85%AC%E9%92%A5%E5%AF%86%E9%92%A5%E5%88%9B%E5%BB%BA%E6%A0%B9CA%E7%AD%BE%E5%90%8DHTTPS%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AF%81%E4%B9%A6%E7%AD%BE%E5%90%8D/

一:Nginx 安装

openssl安装

[[email protected] src]# tar zxvf openssl-fips-2.0.10.tar.gz
省略安装内容...

[[email protected] src]# cd openssl-fips-2.0.10

[[email protected] openssl-fips-2.0.10]# ./config && make && make install
省略安装内容...

pcre安装

[[email protected] src]# tar zxvf pcre-8.40.tar.gz
省略安装内容...

[[email protected] src]# cd pcre-8.40

[[email protected] pcre-8.40]# ./configure && make && make install
省略安装内容...

zlib安装

[[email protected] src]# tar zxvf zlib-1.2.11.tar.gz
省略安装内容...

[[email protected] src]# cd zlib-1.2.11

[[email protected] zlib-1.2.11]# ./configure && make && make install
省略安装内容...

SSL模块安装

[[email protected] src]# yum install openssl-devel
省略安装内容...

nginx安装

[[email protected] src]# tar zxvf nginx-1.10.2.tar.gz
省略安装内容...

[[email protected] src]# cd nginx-1.10.2

[[email protected] nginx-1.10.2]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module && make && make install
省略安装内容...

 

 

二、证书和私钥的生成

注意:将生成的服务器证书和私钥, 拷贝到/usr/local/nginx/conf/目录下, 测试可以使用自签证书。使用openssl自签即可。

建议使用ECC加密证书

[[email protected] conf]# ls -al
total 84
drwxr-xr-x.  3 root root 4096 Apr  5 15:29 .
drwxr-xr-x. 11 root root  151 Apr  5 13:34 ..
省略
-rw-r--r--.  1 root root  615 Apr  5 15:29 server.crt
-rw-r--r--.  1 root root  302 Apr  5 15:29 server.key
省略

三、配置文件

1.下面为配置文件 /usr/local/nginx/conf/nginx.conf  , 将HTTPS部分的server配置注释去掉,并设置正确的证书证书和私钥

[[email protected] conf]# cat nginx.conf

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

worker_connections  1024;

}

http {

include       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  logs/access.log  main;

sendfile        on;

#tcp_nopush     on;

#keepalive_timeout  0;

keepalive_timeout  65;

#gzip  on;

server {

listen       80;

server_name  localhost;

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {

root   html;

index  index.html index.htm;

}

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

#    proxy_pass   http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

#    root           html;

#    fastcgi_pass   127.0.0.1:9000;

#    fastcgi_index  index.php;

#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

#    include        fastcgi_params;

#}

# deny access to .htaccess files, if Apache‘s document root

# concurs with nginx‘s one

#

#location ~ /\.ht {

#    deny  all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#

server {

listen       8000;

#    listen       somename:8080;

#    server_name  somename  alias  another.alias;

location / {

root   html;

index  index.html index.htm;

}

}

# HTTPS server

#

server {

listen       443 ssl;

server_name  localhost;

ssl_certificate      server.crt;

ssl_certificate_key  server.key;

ssl_session_cache    shared:SSL:1m;

ssl_session_timeout  5m;

ssl_ciphers  HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers  on;

location / {

root   html;

index  index.html index.htm;

}

}

}

四、开启nginx 服务器

 

开启nginx服务器 和查看服务器状态

[[email protected] conf]# /usr/local/nginx/sbin/nginx

[[email protected] conf]# /usr/local/nginx/sbin/nginx -t

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

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

 

关闭nginx 服务器

[[email protected] conf]# ps -aux | grep nginx

root     11821  0.0  0.0  46936  1168 ?        Ss   15:29   0:00 nginx: master process ./nginx

nobody   11822  0.0  0.0  49552  3552 ?        S    15:29   0:00 nginx: worker process

root     12229  0.0  0.0 112712   972 pts/0    S+   17:19   0:00 grep --color=auto nginx

[[email protected] conf]# kill 11821

[[email protected] conf]# ps -aux | grep nginx

root     12231  0.0  0.0 112712   968 pts/0    S+   17:19   0:00 grep --color=auto nginx

五、关闭CentOS防火墙

 

关闭CentOS防火墙

 

[[email protected] conf]#

[[email protected] conf]# systemctl stop firewalld

[[email protected] conf]#

[[email protected] conf]# systemctl disable  firewalld

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

六:客户端测试访问

大功告成:

原文地址:https://www.cnblogs.com/cnmumian/p/10659289.html

时间: 2024-10-11 10:37:36

CentOS使用nginx部署https服务的相关文章

[CentOS] 结合Nginx部署DotNetCore的demo项目

系统CentOS安装: 网上很多教程,很详细,我就不再赘述了.在安装过程中,需要注意的是设置时区.个人账户密码.root密码(一定要注意,否则后续很麻烦).在首次启动时,需要接受许可. NETCoreSDK安装: 参考官方教程即可.https://www.microsoft.com/net/core#centos 安装nginx: 参看官方教程即可:https://www.nginx.com/resources/wiki/start/topics/tutorials/install/# 我是按照

【HTTPS】自签CA证书 && nginx配置https服务

首先,搭建https服务肯定需要一个https证书.这个证书可以看做是一个应用层面的证书.之所以这么说是因为https证书是基于CA证书生成的.对于正式的网站,CA证书需要到有资质的第三方证书颁发机构去申请获取.对于我们自建的一些小项目,可以使用自己的服务器自签CA证书.这类证书构建出来的HTTPS服务在访问的时候浏览器会发出不可信任的警告,对于自身项目无视即可. 参考文:[https://blog.csdn.net/xizaihui/article/details/53178897] ■ 自签

centos配置apache的https服务

因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache的mod_ssl.so模块 yum -y install mod_ssl 3.若启用了防火墙需要添加https服务(service iptables status或者在使用firewall的情况下用 systemctl status firewalld) 用iptables的情况 iptables 

Centos下nginx支持https协议

1.首先配置nginx及其他插件,这个Google下,很多配置方案. 2.配置服务器的证书.操作步骤如下: [[email protected] ~]# cd /etc/pki/tls/certs [[email protected] certs]# make server.key umask 77 ; /usr/bin/openssl genrsa -aes128 2048 > server.key Generating RSA private key, 2048 bit long modul

如何在CentOS配置Apache的HTTPS服务

Web服务器在默认情况下使用HTTP,这是一个纯文本的协议.正如其名称所暗示的,纯文本协议不会对传输中的数据进行任何形式的加密.而基于HTTP的Web服务器是非常容易配置,它在安全方面有重大缺陷.任何"中间人",通过精心防止的数据包嗅探器,是能够看到任何经过的数据包内容.更进一步,恶意用户甚至可以在传输路径设置一个假冒的WEB服务器冒名顶替实际的目标Web服务器.在这种情况下,最终用户可能实际上与假冒者服务器,而不是真正的目的服务器进行通信.这样,恶意用户可以通过精心设计的表单欺骗终端

CentOS系统上配置https服务

在CentOS6.9(http2.2)配置https 在CentOS6.9和CentOS7分别实现配置 在CentOS6.9(http2.2)配置https 创建前准备: 安装opensssl包  和 http2.2 1.在主机(192.168.109.100)创建私有CA (1)获取私钥  注意:1.私钥保存路径是按/etc/pki/tls/openssl.cnf配置文件规定的即/etc/pki/CA/private/ 2.做成的私钥的权限必须是600             3.文件名必须以

CentOS下Nginx部署React静态应用

查看CentOS版本: cat /etc/redhat-release 安装nginx: yum install nginx 查看nginx版本: nginx -v 启动nginx: systemctl start nginx nginx默认发布目录: cd /usr/share/nginx/ 由于是单页应用虚拟路由的原因,需要将nginx的所有请求都转发到index.html页面,所以需要修改配置文件: server { listen 80 default_server; listen [::

Tools:apache部署https服务

转自:https://www.cnblogs.com/ccccwork/p/6529367.html 1.要搭建https,必须要具备的东西 1.超文本传输协议httpd(apache)和ssl模块(mod_ssl) 2.用于加密超文件传输的证书.(openssl制作自签名证书) 3.测试 2.安装httpd yum install httpd mod_ssl -y 3.安装openssl yum install openssl -y 这里介绍httpd默认的配置文件路径.www路径.默认的证书

Ubuntu 16.04——配置Nginx及Https服务

安装Cerbot sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install python-certbot-nginx 使用Cerbot中的Nginx插件(自动版,可能会不行) sudo certbot --nginx 此命令将自动获取证书并且Certb