A. 如何在Nginx中添加SSL证书以支持HTTPS协议访问
获得Nginx环境SSL证书
安装流程:
环境检测,检测命令如下(测试nginx是否支持SSL)nginx-V
如果有输入 –with-http_ssl_mole 表示已编译openssl,支持安装ssl
如果没有安装请下载nginx源码重新编译:./configure--with-http_stub_status_mole--with-http_ssl_mole
make&&makeinstall
配置Nginx
server{
listen80;
listen443ssl;
server_namewww.gworg.cn;
ssl_protocolsTLSv1.2TLSv1.1TLSv1;
ssl_certificate/etc/ssl/yourdomain.com.crt;
ssl_certificate_key/etc/ssl/yourdomain.com.key;
ssl_prefer_server_cipherson;
#自动跳转到HTTPS(可选)
if($server_port=80){
rewrite^(.*)$https://$host$1permanent;
}
location/{
root/home/web/;
indexindex.php;
}
}
以上配置仅供参考,其他参数请根据生产环境需要添加。
安装后重启nginx使其生
解决办法:SSL证书可以在Gworg申请,然后根据以上文档安装,Nginx证书分为:crt公钥与key私钥2个文件。
B. nginx能配置多个ssl证书吗
nginx支持TLS协议的SNI扩展(Server Name Indication,简单地说这个扩展使得在同一个IP上可以以不同的证书serv不同的域名)。不过,SNI扩展还必须有客户端的支持,另外本地的OpenSSL必须支持它。
如果启用了SSL支持,nginx便会自动识别OpenSSL并启用SNI。是否启用SNI支持,是在编译时由当时的 ssl.h 决定的(SSL_CTRL_SET_TLSEXT_HOSTNAME),如果编译时使用的OpenSSL库支持SNI,则目标系统的OpenSSL库只要支持它就可以正常使用SNI了。
nginx在默认情况下是TLS SNI support disabled。
启用方法:
需要重新编译nginx并启用TLS。步骤如下:
# wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
# tar zxvf openssl-1.0.1e.tar.gz
# ./configure --prefix=/usr/local/nginx --with-http_ssl_mole \
--with-openssl=./openssl-1.0.1e \
--with-openssl-opt="enable-tlsext"
# make
# make install
查看是否启用:
# /usr/local/nginx/sbin/nginx -V
TLS SNI support enabled
这样就可以在 同一个IP上配置多个HTTPS主机了。
C. Nginx如何安装安信SSL证书
第一步:申请并获取证书
在安信SSL平台申请购买SSL证书,成功之后,服务器SSL证书由系统通过 Email 方式发送给用户,证书文件的内容格式如下,请把您的 SSL证书内容(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”)粘贴到记事本等文本编辑器中,在服务器证书代码文本结尾处回车换行,并分别粘贴证书链代码(包括“—–BEGIN CERTIFICATE—–”和“—–END CERTIFICATE—–”),修改文件扩展名,保存包含证书和证书链代码的文本文件为 server.pem 或者 server.crt 文件。
第二步:修改配置文件
最后把 server.crt(或者 server.pem) 、server.key(生成 csr 时生成的私钥)两个文件保存到同一个目录,例如/usr/local/nginx/conf 目录下。
1.用文本编辑器打开 Nginx 根目录下 conf/nginx.conf 文件找到并更新一下内容:
server
{
listen 443 ssl;
ssl_certificate /usr/local/nginx/conf/server.crt; #(备注:证书路径)
ssl_certificate_key /usr/local/nginx/conf/server.key; #(备注:私钥路径)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /home/wwwroot/www.domain.com; #(备注:网站文件路径) index index.php index.html index.htm; #(备注:默认首页文件指定)
}
#Blow,I can’t anyway update.
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
root /home/wwwroot/default;
第三步:https 访问排错调整设置:
如果控制每个网站对应的文件路径有单独的配置文件,一般放在/usr/local/nginx/conf/vhost 下面。需要编辑对应网站配置文件配置 443 端口,不然可能导致 http 能正常访问,https 访问 404 报错。修改规则参考如下:
server
{
listen 80; #启用 80
listen 443 ssl; #404 报错就是需要在这里启用 443
#listen [::]:80;
server_name www.domain.com domain.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.domain.com;
include rewrite/opencart.conf;
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*.php$ { deny all; }
include enable-php.conf;
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*.(js|css)?$
{
expires 12h;
}
location ~ /.well-known{ allow all;
}
location ~ /.
{
deny all;
}
location / {
if ($host != ‘www.domain.com’) {
rewrite ^/(.*)$ https://www.domain.com/$1 permanent;
#设置重定向自动跳转到 www 网站。
}
try_files $uri @opencart;
}
location @opencart {
rewrite ^/(.+)$ /index.php?_route_=$1 last;
}
location /admin/ { index index.php;
}
location ~* (.(tpl|ini))$ { deny all;
}
access_log /home/wwwlogs/domain.log;
}
修改保存重启 nginx 服务:
service nginx restart
完成以上步骤,即可安装成功。
D. 在nginx上面配置了ssl证书,用来https访问,但是内网可以访问,外网不能访问
这还是配置ssl证书出了点问题吧。在Nginx上安装ssl证书的步骤参考网页链接,你看看哪里不对。如果是在GDCA申请ssl证书,可以叫他们技术人员帮忙安装配置,以免出现问题。
E. Linux+Nginx下SSL证书安装
"一.Nginx安装SSL证书需要两个配置文件
(温馨提示:安装证书前请先备份您需要修改的服务器配置文件)
1_root_bundle.crt、2_domainname.com.key。注:这三个证书文件都在文件夹for Nginx.zip中,例:1_root_bundle.crt是根证书链(公钥),2_domainname.com.key为私钥。
(其中:证书公钥、私钥文件一般以您的域名命名;证书后缀名crt和cer的性质是一样的)。
二.Nginx安装证书
1.打开Nginx安装目录下conf目录中的nginx.conf文件
找到:
#HTTPS server
#
#server{
#listen 443;
#server_name localhost;
#ssl on;
#ssl_certificate cert.pem;
#ssl_certificate_key cert.key;
#ssl_session_timeout 5m;
#ssl_protocols SSLv2 SSLv3 TLSv1;
#ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#ssl_prefer_server_ciphers on;
#location/{
#root html;
#index index.html index.htm;
#}
#}
将其修改为:
server{
listen 443;
server_name localhost;
ssl on;
ssl_certificate 1_root_bundle.crt;(证书公钥)
ssl_certificate_key 2_domainname.com.key;(证书私钥)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location/{
root html;
index index.html index.htm;
}
注:配置完成后的网站路径及默认页等配置请与80端口保持一致。
2. 本地测试访问。
如果本地测试,请做本地解析访问:打开系统盘:\Windows\System32\Drivers\etc\hosts文件,用文本编辑器修改,把证书绑定的域名解析到本地ip。
3.完成配置后的效果。
启动nginx,访问https://+证书绑定的域名
注:部署完毕后若网站无法通过https正常访问,可确认服务器443端口是否开启或被网站卫士等加速工具拦截。
(1)开启方法:防火墙设置-例外端口-添加443端口(TCP)。
(2)若被安全或加速工具拦截,可以在拦截记录中将443添加至信任列表。
重启后,重新通过https访问。
三.SSL证书的备份
请保存好收到的证书压缩包文件及密码,以防丢失。以上内容来自景安网络。
"
F. 怎么验证nginx配置域名ssl证书成功
HTTPS网站可以正常打开,那么说明配置成功了。
G. 如何在nginx服务器部署ssl证书
Nginx服务器部署ssl证书的指南网页链接,写得很详细。如果是在GDCA申请的SSL证书,他们可以免费帮安装。
H. linux nginx ssl证书怎么配置
Nginx安装SSL证书:抄https://www.gworg.com/ssl/107.html
Nginx 自动跳转到HTTPS:https://www.gworg.com/ssl/167.html
注意袭:安装防火墙需要设置允许443端口或关闭防火墙,如果本地服务器安装安全狗的,请允许443端口。SSL证书需要淘宝Gworg获取。
I. 如何创建ssl证书 nginx
你可以到CA机构申请SSL证书,然后安装Nginx的配置教程配置SSL即可。优质证书推荐wosign.com/price.htm