当前位置: 首页 > news >正文

摄影师都在哪些网站发布作品最新某地方装修门户源码 php装饰公司程序 dede行业网站模板

摄影师都在哪些网站发布作品,最新某地方装修门户源码 php装饰公司程序 dede行业网站模板,衡水建设公司网站,网站 编码文档要配置https地址访问,需要向服务器商申请和使用SSL证书。由于是测试阶段,我们自己创建SSL证书,叫作自签名证书。 1.创建自签名证书 Vue前端生成自签名证书我们用openssl 参考文章一 参考文章二SpringBoot后端生成自签名证书用JDK自带的keyt…

要配置https地址访问,需要向服务器商申请和使用SSL证书。由于是测试阶段,我们自己创建SSL证书,叫作自签名证书。

1.创建自签名证书

  • Vue前端生成自签名证书我们用openssl
    参考文章一
    参考文章二
  • SpringBoot后端生成自签名证书用JDK自带的keytool
    参考文章一
    参考文章二
    参考文章三
  • 或者直接下载我生成好的自签名证书
    由于是自签名证书,所以访问https网址时有不安全提示是正常的,下载链接

2.添加证书

  • Vue开发环境下添加证书(vue.config.js文件)
    把SSL_test_key放在项目根目录下
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true,devServer:{//设置https证书https:{key: './SSL_test_key/mykey.key',cert: './SSL_test_key/mycert.crt',},port:8080,//解决报错 chunk-vendors.js:1101 WebSocket connection to 'wss://192.168.0.10:8080/ws' failed: host: '0.0.0.0',client: {webSocketURL: 'ws://0.0.0.0:8080/ws',},headers: {'Access-Control-Allow-Origin': '*',},},
})
  • SpringBoot添加证书(application.properties文件)
    把mykey.p12放到application.properties同级目录下
server.port=8100
server.http.port=80
server.ssl.key-store=classpath:mykey.p12
server.ssl.key-store-password=123456
server.ssl.key-alias=tomcathttps
  • 如果是Vue打包,nodejs部署
    在dist文件夹同级目录创建server.js脚本
// 运行脚本:node server.js
const https = require('https');
const fs = require('fs');
const express = require('express');
const path = require('path');
const app = express();app.use(express.static(path.join(__dirname, 'dist')));app.get('*', function(req, res) {res.sendFile(path.join(__dirname, 'dist/index.html'));
});// 设置HTTPS服务器
const options = {key: fs.readFileSync('./SSL_test_key/mykey.key'), // 替换为你的SSL私钥路径cert: fs.readFileSync('./SSL_test_key/mycert.crt'), // 替换为你的SSL证书路径// ca: fs.readFileSync('path/to/your/xxx'), // 可选,替换为你的中间证书路径
};const port = process.env.PORT || 8080;
// 创建HTTPS服务器
https.createServer(options, app).listen(port); // 监听端口,HTTPS的默认端口是443 这里设置8080
console.log('Server started on port ' + port);

当前文件所在目录运行node server.js

3.设置访问地址

Vue的请求后端的地址需要修改。假设你已经用常量表示了。constants.js

export const AIOS_BASE_URL = "https://localhost:8100/api"
export const IMG_BASE_URL = "https://localhost:8100/upload/image/"

把http改成https就可以访问了,浏览器也是输入https前缀。

4、扩展:http请求转发到https

  • Vue nodejs http重定向到https
    坑1:有文章提到使用express-redirect,但会报不是中间件错误,
    坑2:使用路由跳转,会有执行顺序问题,加载静态资源与路由只会执行先出现的,后面的就不执行。
    最后用创建服务器时的地址跳转,成功同时加载dist静态资源,完整server.js脚本如下:
// 运行脚本:node server.js
const https = require('https');
const fs = require('fs');
const express = require('express');
const path = require('path');
const http = require('http');
const url = require('url');
const app = express();app.use(express.static(path.join(__dirname, 'dist')));//为所有路由提供单页应用的index.html,解决其它路径刷新时返回“Cannot GET”错误
app.get('*', function(req, res) {res.sendFile(path.join(__dirname, 'dist/index.html'));
});const port = process.env.PORT || 8080;//https端口//设置HTTP服务器
const httpServer = http.createServer((req, res) => {// 解析请求,获取路径const pathname = url.parse(req.url).pathname;let host = req.headers.host;host = host.replace(/\:\d+$/, ''); // Remove port numberhost += ':'+port;// console.log(host,pathname);// 重定向到HTTPS// res.writeHead(301, { 'Location': `https://${req.headers.host}${pathname}` });//如果http和https都是默认端口 80 443;就不用设置上面的host代码了,直接用这条代码res.writeHead(301, { 'Location': `https://${host}${pathname}` });res.end();
});
httpServer.listen(3000,()=>{console.log('HTTP Server started on port 3000');});//设置http端口为3000// 设置HTTPS服务器
const options = {key: fs.readFileSync('./SSL_test_key/mykey.key'), // 替换为你的SSL私钥路径cert: fs.readFileSync('./SSL_test_key/mycert.crt'), // 替换为你的SSL证书路径// ca: fs.readFileSync('path/to/your/xxx'), // 可选,替换为你的中间证书路径
};// 创建HTTPS服务器
https.createServer(options, app).listen(port); // 监听端口,HTTPS的默认端口是443 这里设置8080
console.log('HTTPS Server started on port ' + port);
  • SpringBoot请求转发(如果是SpringBoot直接处理网页请求的才需要)
    参考文章一
    参考文章二
    创建SpringBoot配置类Redirect2HttpsConfig
package com.zzz.simple_blog_backend.config;import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;//SpringBoot配置http自动跳转到https
@Configuration
public class Redirect2HttpsConfig {@Value("${server.http.port}")private int httpPort;@Value("${server.port}")private int httpsPort;@BeanTomcatServletWebServerFactory tomcatServletWebServerFactory() {TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(){@Overrideprotected void postProcessContext(Context context) {SecurityConstraint constraint = new SecurityConstraint();constraint.setUserConstraint("CONFIDENTIAL");SecurityCollection collection = new SecurityCollection();collection.addPattern("/*");constraint.addCollection(collection);context.addConstraint(constraint);}};factory.addAdditionalTomcatConnectors(createTomcatConnector());return factory;}private Connector createTomcatConnector() {Connector connector = newConnector("org.apache.coyote.http11.Http11NioProtocol");connector.setScheme("http");//监听http端口connector.setPort(httpPort);connector.setSecure(false);//转向https端口connector.setRedirectPort(httpsPort);return connector;}
}
http://www.yayakq.cn/news/737163/

相关文章:

  • 南山网站设计方案广告设计公司策划书
  • 网站建设备案需要材料如何设计公司官网站
  • c 网站购物车怎么做广东省建设监理协会网站 首页
  • 中国建设银行青岛网站做网站要会哪些技术
  • 深圳做网站需要多少费用旅游网站建设策划书模板
  • 网站300m空间威海好的网站建设公司
  • 网站建设实战教程佛山建设网站
  • 大连网站建设实例中国设计网站推荐
  • 设计颜色搭配网站广州注册公司有什么优惠政策
  • 企业网站建设可行性分析表代理地址怎么设置
  • 晋江建设局网站php开发网站怎么做
  • 视频收费网站怎么做厦门手机网站设计公司
  • php做网站界面代码android系统定制开发
  • 网站开发类论文题目做网站的厂家
  • 信息化网站建设有什么用苏州网站开发公司兴田德润简介
  • 48互联网站建设上海公共信息服务平台
  • 网站备案账号密码好看的html网页
  • 网站建设客户资源高端网站建设慕枫
  • 临沂做网站推广的公司品牌建设促进中心
  • 几百块钱可以做网站吗wordpress调用最新文章列表
  • 专门做淘宝客网站备案号查询平台
  • 专门做冷门旅行的网站网站搭建免费软件
  • php做一个网站wordpress连接sql
  • 手机网站 微信做维修那个网站发布信息好
  • 网站打不开怎么处理孟村县做网站
  • 查国外网站备案做视频网站空间要多大
  • 贵阳企业自助建站企业咨询培训
  • 免费制作详情页的网站平台设计实景图
  • 后期网站网站建设公司知名企业
  • 锦绣江南网站建设html网站制作答辩ppt