This time I will show you how Express tests HTTPS locally, and what are the precautions for Express to test HTTPS locally. The following is a practical case, let's take a look.
My environment
An ubuntu virtual machine on Amazon (AWS).
node
openssl
##Generate certificate
Enter the following command to generate localhost.key and localhost.cert in your current folder.openssl genrsa -out localhost.key 2048 openssl req -new -x509 -key localhost.key -out localhost.cert -days 3650 -subj /CN=localhost
xxx.compute.amazonaws.com. Just replace all the localhosts above with this domain name and it will generate,
ec2-34-220-96-9.us-west-2.compute.amazonaws.com.key and
ec2-34-220-96-9.us-west-2.compute.amazonaws. com.certTwo files.
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
-nodes.
-subj '/CN=localhost'. Replace
localhost with your domain name.
Code
If you want to run the following code, you need to install the package firstnpm init npm i -S https express
#!/usr/bin/env node var https = require('https'); var fs = require('fs'); var express = require('express'); var host = 'xxx.compute.amazonaws.com'; // Input you domain name here. var options = { key: fs.readFileSync( './' + host + '.key' ), cert: fs.readFileSync( './' + host + '.cert' ), requestCert: false, rejectUnauthorized: false }; var httpApp = express(); var app = express(); app.get('/', function (req, res) { res.send('hi HTTPS'); }); httpApp.get('/', function (req, res) { res.send('hi HTTP'); }); httpApp.listen(80, function () { console.log('http on 80'); }); var server = https.createServer( options, app ); server.listen( 443, function () { console.log( 'https on 443' ); } );
sudo node index.js
Access
Enterhttp in the browser ://xxx.compute.amazonaws.com/ will access the HTTP server at port 80. Display
hi HTTP.
https://xxx.compute .amazonaws.com/ will access the HTTPS server on port 443, displaying
hi HTTPS.
Reference
Self-Signed, Trusted Certificates for Node.js & Express.jsI believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website! Recommended reading:JS operation page background darkening
The above is the detailed content of How to test HTTPS locally with Express. For more information, please follow other related articles on the PHP Chinese website!