繁体   English   中英

使用 Spring 启动应用程序在 Angular 8 中配置 SSL 证书

[英]Configure SSL certificate in Angular 8 with Spring boot Application

我阅读了一些教程来在 spring 引导中配置 LetsEncrypt SSL 证书。 我们在 spring 引导中开发了一个应用程序。 它在嵌入式 tomcat 8080 上运行。我还有另一个 Angular 8 应用程序,它在默认的 4200 端口上运行。 两个应用程序都能够在 JwtToken 的帮助下正确地相互通信。 现在我希望我的应用程序/域应该启用 ssl。 所以我的问题是,我们是否需要两个应用程序的单独 SSL 证书,或者在 spring 引导端配置就足够了。

我们需要单独的 SSL 证书吗?

如果您的 tomcat 服务器和 angular 应用程序位于同一域(子域)下,您可以使用单一认证来保护它们。

在 spring 引导端配置就足够了吗?

No, the whole point is to secure the connection from angular to tomcat server, if you used http on angular the page with keep showing not secured.

请随时要求更多澄清。

经过几天的研发,让我发布我的问题本身的答案。

我们需要单独的 SSL 证书吗? 回答:我们只需要 1 个可以针对我们的域名生成的证书,比如说 someexample.com; 未在此答案中解释如何生成 ssl 证书。 此特定证书应同时配置 tomcat 和 nginx 服务器。 如果您不在 nginx 中提供 ssl 证书路径,那么您将在浏览器网络调用中遇到错误(INVALID_CERT_ERROR) 我生成了我的 ZF9D5C16A7F42203F8C195432354Alive32. 它可能对您有所不同。

我编辑了 tomcat/config/server.xml 文件

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150" SSLEnabled="true">
      <SSLHostConfig>
        <Certificate hostName="someexample.com" certificateFile="/etc/letsencrypt/live/cert.pem"
                     certificateKeyFile="/etc/letsencrypt/live/privkey.pem"
                     certificateChainFile="/etc/letsencrypt/live/chain.pem" />
      </SSLHostConfig>
    </Connector>

请注意,我们也需要在 nginx 中添加相同的 ssl 证书。 编辑 ngix.conf 文件。

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    #someexample.com
     server {
        listen   443;
        ssl    on;
        ssl_certificate    /etc/letsencrypt/live/someexample.com/cert.pem;
        ssl_certificate_key    /etc/letsencrypt/live/someexample.com/privkey.pem;
        server_name someexample.com;
        location / {
            root   html;
            index  index.html;
        }
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256;
    }
    server {
        listen 80;
        server_name www.someexample.com someexample.com;
        return 301 https://someexample.com;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM