平時都是用oneinstack加密https
現(xiàn)在因為本地調(diào)試 需要https
Linux系統(tǒng)下生成證書
生成秘鑰key,運行:
$?openssl genrsa -des3 -out server.key 2048
會有兩次要求輸入密碼,輸入同一個即可
輸入密碼
然后你就獲得了一個server.key文件.
以后使用此文件(通過openssl提供的命令或API)可能經(jīng)忱芩唬回要求輸入密碼,如果想去除輸入密碼的步驟可以使用以下命令:
$?openssl rsa -in server.key -out server.key
創(chuàng)建服務(wù)器證書的申請文件server.csr,運行:
openssl req -new -key server.key -out server.csr
其中Country Name填CN,Common Name填主機名也可以不填,如果不填瀏覽器會認(rèn)為不安全.(例如你以后的url為https://abcd/xxxx….這里就可以填abcd),其他的都可以不填.
創(chuàng)建CA證書:
openssl req -new -x509 -key server.key -out ca.crt -days 3650
此時,你可以得到一個ca.crt的證書,這個證書用來給自己的證書簽名.
創(chuàng)建自當(dāng)前日期起有效期為期十年的服務(wù)器證書server.crt:
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
ls你的文件夾,可以看到一共生成了5個文件:
ca.crt?ca.srl??server.crt? ?server.csrserver.key
其中,server.crt和server.key就是你的nginx需要的證書文件.
三、如何配置nginx
打開你的nginx配置文件,搜索443找到https的配置,去掉這段代碼的注釋.或者直接復(fù)制我下面的這段配置:
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate /root/Lee/keys/server.crt;#配置證書位置
ssl_certificate_key /root/Lee/keys/server.key;#配置秘鑰位置
#ssl_client_certificate ca.crt;#雙向認(rèn)證
#ssl_verify_client on; #雙向認(rèn)證
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;
將ssl_certificate改為server.crt的路徑,將ssl_certificate_key改為server.key的路徑.
nginx -s reload 重載配置
至此,nginx的https就可以使用了,默認(rèn)443端口.
如果出現(xiàn)報錯信息:
nginx: [emerg] BIO_new_file("/user/local/nginx/temp/server.crt") failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/user/local/nginx/temp/server.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
把server.crt 和server.key 文件放在nginx/conf文件夾下。(和nginx.conf文件同一文件夾)
ssl_certificate? server.crt;
ssl_certificate_key? server.key;
重啟nginx >/opt/fastdfs/nginx/sbin/nginx -s reload
1.申請ssl證書
2.下載ssl證書 打開此網(wǎng)址 ?https://myssl.com/cert_convert.html 將證書文件(xxx.com.crt)和密鑰文件上傳(xxx.com.key) 輸入密碼后會得到一個jks的文件爪飘。上傳到你的tomcat的conf文件夾下即可湿滓。
3.修改server.xml
這是tomcat原樣字段
<Connector port="8080"?protocol="HTTP/1.1"
???????????????connectionTimeout="20000"
???????????????redirectPort="8443"?/>
修改下面這樣的
?<Connector port="80"?protocol="HTTP/1.1"
???????????????connectionTimeout="20000"
???????????????redirectPort="443"?/>
<Connector port="8443"?protocol="org.apache.coyote.http11.Http11Protocol"
??????????????maxThreads="150"?SSLEnabled="true"?scheme="https"?secure="true"
??????????????clientAuth="false"?sslProtocol="TLS"?/>
???-->
??//上面這部分是server.xml中原樣的字段
???<Connector port="443"?protocol="HTTP/1.1"?SSLEnabled="true"
???maxThreads="150"?scheme="https"?secure="true"
???keystoreFile="conf/xxxxxx.com.jks"?//這里是你的jks的路徑如果你是放在conf下 修改文件名即可亲铡。
???keystorePass="123456"?//這是你在前面網(wǎng)站上設(shè)定的密碼
???clientAuth="false"?sslProtocol="TLS"?/>
4.修改web.xml
?在web.xml最后粘貼這段代碼芙盘。位置在<welcome-file-list>節(jié)點下面
<!-- SSL證書配置添加如下 -->
???<login-config>
???????<auth-method>CLIENT-CERT</auth-method>
???????<realm-name>Client Cert Users-only Area</realm-name>
???</login-config>
???<security-constraint>
???????<web-resource-collection>
???????<web-resource-name>SSL</web-resource-name>
???????<url-pattern>/*</url-pattern>
???????</web-resource-collection>
???????<user-data-constraint>
???????<transport-guarantee>CONFIDENTIAL</transport-guarantee>
???????</user-data-constraint>
???</security-constraint>
5.重啟tomcat,是重啟U炀狻!J9旄颉!3婀 !F匝椤5舴!0囊ぁ8ⅰ!
6.如果還是不可以,檢查自己是否安裝了ssl相關(guān)的模塊摊聋。
configure arguments: --prefix=/opt/fastdfs/nginx --sbin-path=/opt/fastdfs/nginx/sbin/nginx --conf-path=/opt/fastdfs/nginx/conf/nginx.conf --error-log-path=/opt/fastdfs/nginx/log/error.log --http-log-path=/opt/fastdfs/nginx/log/access.log --pid-path=/opt/fastdfs/nginx/log/pid/nginx.pid --lock-path=/opt/fastdfs/nginx/log/lock/subsys/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-ld-opt=-Wl,-E --with-http_image_filter_module --add-module=/opt/vs4install/FastDFSinstall/fastdfs-nginx-module/src