电商安全 mall-https

您现在所在的位置 首页 > 电商安全 > nginx https配置相关问答

nginx https配置相关问答

问题:如何用 Nginx 配置透明 HTTP 和 HTTPS 代理,nginx https配置?

回答:

Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 imap/POP3/smtp 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
1、首先需要配置站点的WoSign SSl证书
打开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 sslkey/public.cer; (证书公钥)
ssl_certificate_key sslkey/private.key; (证书私钥)
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
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;
}
}
保存退出,并重启Nginx。
通过https方式访问您的站点,测试站点证书的安装配置。

3、配置强身份认证
1、 修改nginx.conf文件
如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数:
server {
……
……
……
ssl_verify_client on 要求SSL客户证书认证。
ssl_client_certificate trust.cer 签发客户证书的CA证书,用来验证客户证书。
ssl_verify_depth 3 SSL客户证书认证链长度。
}
4、重启站点使用您的客户端证书进行登陆测试

 

问题:如何让nginx 支持https
回答:在nginx配置的站点上部署SSL证书就开启https了

 

问题:Nginx 做反向代理时 怎么做https强制跳转

回答:

首先创建虚拟机,运行下面命令;
./vhost.sh
我创建的域名为g.yh.gs
ps:怎么创建这里不多介绍,相信用过lnmp的都知道如何创建虚拟主机!

编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
在http部分加入以下内容
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;
proxy_cache_path /home/cache/pathlevels=1:2keys_zone=cache_one:5minactive=7d max_size=1g;

保存然后编辑虚拟机配置文件

1
vim /usr/local/nginx/conf/vhost/g.yh.gs.conf
将server段替换为下面的内容
server
{
listen 80;
server_name g.yh.gs;

location / {
proxy_redirect http://www.google.com/ /;
proxy_cookie_domain google.com xxx.xxx;
proxy_pass http://216.58.221.196;
proxy_set_header Accept-Encoding “”;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language “zh-CN”;
proxy_set_header Cookie “PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw”;
}
}
其中216.58.221.196是指google.com的ip,可以到网上找找

保存后测试下配置文件是否有问题
/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
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
这样我们之间访问http://g.yh.gs即可浏览google了

以上只能实现最基本的反代,没有HTTPS功能,如果搜索什么内容,可能会被墙IP甚至域名都墙掉。所以我们这里再添加个ssl功能
找个免费的ssl即可
免费SSL申请地址https://buy.wosign.com/dvssl.html
申请过程不做过多的介绍,很简单的。
然后把申请到的 crt 和key 证书上传到服务器

编辑配置文件
vim /usr/local/nginx/conf/vhost/g.yh.gs.conf
在server_name 后面加上
ssl on;
ssl_certificate /ssl/1_g.yh.gs_bundle.crt;
ssl_certificate_key /ssl/2_g.yh.gs.key;

ssl_certificate和ssl_certificate_key后面的地址根据自己的实际上传的地址更改下。

listen 80;改为443;
即listen 443;
重启下nginx 这样即可使用https了
kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
如果想访问http://g.yh.gs 直接跳转到https://g.yh.gs可以参考以下配置文件

server
{
listen 443;
server_name g.yh.gs;
#rewrite ^/(.*) https://$server_name$1 permanent;
ssl on;
ssl_certificate /ssl/1_g.yh.gs_bundle.crt;
ssl_certificate_key /ssl/2_g.yh.gs.key;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
#listen 80;
location / {
proxy_redirect http://www.google.com/ /;
proxy_cookie_domain google.com xxx.xxx;
proxy_pass http://173.194.120.78;
proxy_set_header Accept-Encoding “”;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Accept-Language “zh-CN”;
proxy_set_header Cookie “PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw”;
}
}

server {
listen 80;
server_name g.yh.gs;
rewrite ^(.*) https://$server_name$1 permanent;
}
上面的http://173.194.120.78 表示google的ip,不排除一段时间后google调整,最好是使用自己国外vps上ping google.com,用得到的ip 替换
或者 使用
proxy_redirect off;
proxy_pass https://www.google.co.jp/;

 

问题:Nginx-NGINX怎么配置https服务

回答:
nginx 官网的示例代码15
worker_processes 2;
http {

server {
listen 443;
keepalive_timeout 70;
ssl on;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
ssl_certificate /usr/local/nginx/conf/cert.pem;
ssl_certificate_key /usr/local/nginx/conf/cert.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

}

安装nginx的时候记得把openssl这些装上

 

问题:nginx怎么配置ssl可以即允许http访问也允许https访问

回答:正常配置的ssl都是允许http和https共存的,除非做了强制https跳转

nginx https配置相关文章:

免费SSL证书申请,便宜的SSL证书购买指南

本文来源于互联网,版权归属于原作者。本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(3143591980@qq.com),我们收到后立即删除。