https部署
准备证书及秘钥
方式一、springboot项目可直接在yml中配置
1、需要将证书转换成jks或p12格式,如
多个crt证书转为pem:
cat xxx.crt xxx2.crt xxx3.xrt xxx4.crt > server.pem pem证书转为jks: //PEM--->PFX
openssl pkcs12 -export -out test.pfx -inkey test.key -in test.pem
//PFX--->JKS
keytool -importkeystore -srckeystore test.pfx -destkeystore test.jks -srcstoretype PKCS12 -deststoretype JKS
crt证书转为jks: //CRT-->CER
openssl x509 -inform pem -in test.crt -outform der -out test.cer
//CER--->JKS
keytool -import -v -alias test -file test.cer -keystore test.jks -storepass 123456 -noprompt
2、然后在yml中进行配置
server.port=8443 #https默认是443端口好,由于linux下非root用户无法使用443,这里改为8443)
server.ssl.key-store:/xx/xx/server.jks #证书绝对路径
server.ssl.key-store-password: xxx #证书转换时设置的密码
server.ssl.keyStoreType: JKS #证书类型
3、启动应用,顺利的话此时访问https://domain:8443/就访问到了原先的页面
4、端口映射,将443端口映射到8443端口
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
此时访问 https://domain即可
这种方式可能涉及到证书多次转换,并需要改动项目的配置文件因此不太推荐。
方式二、使用nginx配置https
1、首先安装nginx,检查是否有支持ssl模块,没有的话记得安装
2、配置
server {
listen 443;
server_name 域名;
ssl on;
ssl_certificate /xx/pem/xxx.pem;
ssl_certificate_key /xx/pem/xxx.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;
proxy_pass http://域名对应的ip:8080;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header Host $http_host;
}
#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;
}
}
注意点:
填写域名
指定证书与秘钥绝对路径。证书也可以是crt格式
proxy_pass值指向服务真实的访问地址
3、启动nginx
4、访问https://domain即可
5、配置http://domain强制跳转到https://domain
server {
listen 80;
server_name 域名;
rewrite ^(.*)$ https://域名$1 permanent;
}
注意点:
http默认端口为80
参数$1代表域名后的路径
在centos环境下可能会用到的相关命令:
查看开放端口及映射
iptables -L -n --line-number
端口映射
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
取消映射
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443
开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
关闭端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
刷新配置
firewall-cmd --reload
https部署的更多相关文章
- 阿里云Https部署网站
0.开始之前 文章图片很多,注意流量 首先你得准备好一个已经备案成功的域名,并且有一个在阿里云的服务器部署了的网站. 然后就是你迫切的希望升级网站为HTTPS部署. 那么我们开始吧! 1.申请CA证书 ...
- HTTPS 部署简要指南
许多Web开发者都知道SSL,但常见的情况是SSL没有完整地部署或者没有部署在它应该部署的地方.这篇关于何时及如何部署SSL的简要指南,将帮助你避免大多数常见错误. 要点 如果你有任何机密信息,或者你 ...
- etcd+https部署
关闭防火墙 关闭selinux 下载所需的包(cfssl,生成证书工具) mkdir /usr/local/src/etcd/ cd /usr/local/src/etcd/ wget https:/ ...
- 宝塔https部署没成功的原因排查
今天ytkah在迁移一个客户网站的时候出了点问题,网站从旧的服务器(windows)换到新的服务器(阿里云centos 7,已经安装了宝塔面板),网站之前有用comodo的ssl证书,因为快要过期了, ...
- ubuntu NGINX uwsgi https 部署Django 遇到的问题
搞了3天终于把Django成功部署到Ubuntu,记录一下: 引用来自泡泡茶壶: Ubuntu下的Nginx + Uwsgi + Django项目部署详细流程 前提说明: Django作为小程序的后端 ...
- Window nginx+tomcat+https部署方案 支持ios9
客户端和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接. 下面是详细的配置(Nginx 端口 80/443,Tomc ...
- Flask+Nginx+Supervisor+Gunicorn+HTTPS部署教程(CentOs)
写在前面 之前的文章中,我们详细讲述了怎样安装 Nginx,Python,Supervisor,Gunicorn,HTTPS.经本人多次测试是完全可以跑通的,那么本篇将介绍怎样将这些组合起来运行一个H ...
- WORDPRESS改为https部署
1.确保你已经正确开启了httpd 2.4.6的https配置,并且配置了该网站的虚拟主机,如下所示: <VirtualHost *:443> DocumentRoot "/ap ...
- Harbor + Https 部署
关闭防火墙和selinux systemctl stop firewalld sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selin ...
随机推荐
- Ideal-image-slider 幻灯片实例演示
链接:http://zaixianshouce.iteye.com/blog/2316300 http://www.shouce.ren/study/api/s/jq--5733e32bf23bb-- ...
- js 自定义类
将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言.如果你忘了填写用户名,它就跳出一个警告. 如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途.程序员用它完成越来越 ...
- 微软官方SqlHelper类 数据库辅助操作类
数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 本文就为大家介绍微软官方的程序PetShop4.0中的SqlHelper类,先来做一下简单的介绍,PetSh ...
- ChemDraw 15.1 Pro插入阿尔法可以这样做
在理工科学科学习过程中,大家都会遇到各种希腊字母,而阿尔法(α)又是最常见的一个.最新版本ChemDraw 15.1 Pro的功能更加卓越,在很多功能上都进行了优化,操作更简便.其中,就可以很好的在公 ...
- SurvivalShooter学习笔记(五.敌人生命)
敌人生命系统(受伤 死亡) 敌人生成后有初始生命,被攻击受伤有打击特效,降低生命值,直至死亡: 死亡后怪物:播放死亡音效,动画,然后下沉地表,销毁:玩家:得到相应分数. 敌人生命脚本如下: 1.变量: ...
- Oracle菜鸟之怎样创建和删除表空间
1.创建暂时表空间 创建表空间时,dbf文件一般存放在datafile文件的存放文件夹下(通常是在实例名命名的文件夹以下) 能够通过 select * from v$datafile;查看全部数据文件 ...
- Java每日一题
1.(单选题)What will be printed when you execute the following code? class C { C() { System.out.print(&q ...
- Appcompat实现Action Bar的兼容性处理
Appcompat实现Action Bar时,如果使用到split action bar或者Navigating Up with the App Icon需要考虑兼容性.下面介绍下split acti ...
- docker 中安装 FastDFS 总结
如题,参考各资料后,安装FastDFS总结.基于已有docker镜像 https://hub.docker.com/r/luhuiguo/fastdfs/ docker pull luhuiguo/f ...
- 使用sendmail来发邮件
安装sendEmail sendEmail是一个免费.轻量级.命令行的SMTP邮件客户端. 如果你需要使用命令行方式发送邮件,那么sendEmail是非常完美的选择:使用简单.功能强大. wget - ...