【转】Linux下nginx配置https协议访问的方法

一、配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module

查看nginx编译参数:/usr/local/nginx/sbin/nginx -V

如下所示:

configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35

如果没有--with-http_gzip_static_module这个参数,需要重新编辑nginx

二、防火墙开启https协议默认端口443

vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下代码

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

:wq! #保存退出

service iptables restart #重启防火墙

三、创建https证书

确保机器上安装了openssl和openssl-devel

yum install openssl openssl-devel #CentOS使用yum命令安装

mkdir /usr/local/nginx/conf/ssl #创建证书存放目录

cd /usr/local/nginx/conf/ssl #进入目录

创建服务器私钥:openssl genrsa -des3 -out server.key 1024 #根据提示输入证书口令

创建签名请求的证书(CSR):openssl req -new -key server.key -out server.csr #输入上面设置的口令

#根据提示输入相应的信息

Country Name (2 letter code) [XX]:cn #国家

State or Province Name (full name) []:zhejiang #省份

Locality Name (eg, city) [Default City]:hangzhou #城市

Organization Name (eg, company) [Default Company Ltd]:osyunwei #公司

Organizational Unit Name (eg, section) []:sys #部门

Common Name (eg, your name or your server‘s hostname) []:osyunwei #主机名称

Email Address []:[email protected] #邮箱

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:123456 #证书请求密钥,CA读取证书的时候需要输入密码

An optional company name []:osyunwei #公司名称,CA读取证书的时候需要输入密码

openssl rsa -in server.key -out server_nopassword.key #对key进行解密

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

#标记证书使用上述私钥和CSR

四、修改nginx配置文件,加载ssl证书

vi /usr/local/nginx/conf/nginx.conf #编辑

listen 80;

listen 443;

ssl on;

ssl_certificate /usr/local/nginx/conf/ssl/server.crt;

ssl_certificate_key /usr/local/nginx/conf/ssl/server_nopassword.key;

fastcgi_param HTTPS $https if_not_empty; #有https协议时自动使用https,否则忽略这个参数。

:wq! #保存退出

service nginx restart #重启nginx

rewrite ^(.*) https://www.osyunwei.com$1 permanent; #可以把http协议重定向到https上面

使用https协议打开网址,如下图所示:

至此,Linux下nginx配置https协议访问完成。

时间: 2024-10-29 19:11:27

【转】Linux下nginx配置https协议访问的方法的相关文章

Window7 64位下Nginx配置https

一.安装Nginx 官方下载地址:http://nginx.org/en/download.html 直接下载1.7.1.zip的链接:http://nginx.org/download/nginx-1.7.1.zip 二.安装Openssl 官方下载的没弄明白怎么用,不过还是留下链接以备之后使用:http://www.openssl.org/source/ 感觉比较好用的:链接:http://pan.baidu.com/s/1kT9OcPT 密码:zg6p 三.生成密钥 安装完成Openssl

Tomcat配置https协议访问

Tomcat9配置https协议访问: https://blog.csdn.net/weixin_42273374/article/details/81010203 配置Tomcat使用https协议: https://www.cnblogs.com/wanghaoyuhappy/p/5267702.html 原文地址:https://www.cnblogs.com/yanyunliu/p/10699418.html

Linux下nginx配置虚拟主机

在弄到新服务器,安装了所有东西后,开始配置新的站点测试了,可是问题却随之而来呀,主要是站点设置成功,但是并不支持php.nginx配置站点其实就是基于一ip多站点.那么在配置目录中新建一个配置文件,名字起得和站点名字相同,然后写入: server { listen 80; server_name www.piyaoyan.com piyaoyan.com; access_log /var/log/nginx/piyaoyan.com/access.log main; root /home/akc

thinkphp5在Linux下Nginx配置问题解决

首先tp5的访问目录指向到webroot/public文件夹中.thinkphp的url访问:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...],这个需要支持pathinfo,Apache默认支持,而Nginx不支持.1.php.ini中的配置参数cgi.fix_pathinfo = 12.修改nginx.conf文件. location ~ \.php(.*)$ { fastcgi_pass   127.0.0.1:90

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

阿里云Linux系统Nginx配置多个域名的方法

Nginx绑定多个域名,可通过把多个域名规则写一个配置文件里实现,也可通过分别建立多个域名配置文件实现,为了管理方便,建议每个域名建一个文件,有些同类域名则可写在一个总的配置文件里. 1. 比如我想建立两个站点的域名分别是www.A.com 和 www.B.com,将这两个域名都解析到同一服务器IP. 2. 在Nginx配置文件conf目录下创建一个专门存放虚拟主机配置的目录,命名为vhosts,可以把虚拟目录的配置全部放在这里.如本例创建名为vhosts_A.conf和vhosts_B.con

CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问

参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问(http跳转到https) 5.nginx ssl 107 (net::ERR_SSL_PROTOCOL_ERROR) 无法与服务器建立安全连接 解决方法 配置过程如下: 我的nginx是 yum 安装 具体安装过程参考:[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡 一.安

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端

VMware Linux 下 Nginx 安装配置 - nginx.conf 配置 [负载两个 Tomcat] (三)

首先启动Nginx 1. 转到 nginx 目录: /usr/local/nginx; 启动 nginx: /usr/local/nginx/nginx ubuntu 前要加 sudo; 关健配置 http 配置块下,一般设置在 zgip on 下: upstream localhost { #绿色对应 #ip_hash; server localhost:8090; server localhost:8080; } server / { location / { proxy_connect_t