On m'a demandé de configurer HTTPS avec un certificat auto-signé sur Apache sur localhost, mais comment puis-je le faire? Je n'en ai aucune idée.
Je viens de tenter ceci - je devais tester du code de développement sur mon hôte local Apache sous Windows . C'était WAAAY plus difficile que cela ne devrait être. Mais voici les étapes qui ont réussi à travailler après beaucoup de cheveux épilation ...
J'ai trouvé que mon installation d'Apache est fournie avec openssl.exe
, ce qui est utile. Si vous n'en avez pas, vous devrez le télécharger. Ma copie se trouvait dans le dossier _Apache2\bin
_ et voici comment je la référence ci-dessous.
Pas:
Apache2\conf
_..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
_Vous pouvez laisser toutes les questions en blanc sauf:
Lorsque cela est terminé, tapez
_..\bin\openssl rsa -in blarg.pem -out blarg.key
_
Générez votre certificat auto-signé en tapant:
_..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
_
Ouvrez le fichier _conf\httpd.conf
_ d'Apache et assurez-vous que le module SSL est activé - il ne devrait pas y avoir de hachage au début de cette ligne:
_LoadModule ssl_module modules/mod_ssl.so
_
Certaines installations Apache placent la configuration SSL dans un fichier séparé. Si tel est le cas, assurez-vous que le fichier de configuration SSL est en cours d’inclusion. Dans mon cas, j'ai dû décommenter cette ligne:
_Include conf/extra/httpd-ssl.conf
_
Dans la configuration SSL _httpd-ssl.conf
_, je devais mettre à jour les lignes suivantes:
SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
DocumentRoot
- définissez ceci dans le dossier de vos fichiers WebServerName
- le nom d'hôte du serveurSSLCertificateFile "conf/blarg.cert"
_SSLCertificateKeyFile "conf/blarg.key"
_Redémarrez Apache.
https://localhost/
_ dans votre navigateur.J'espère que vous avez réussi jusqu'ici. N'hésitez pas à mettre à jour ce message avec d'autres informations utiles.
(avec la permission de Neil Obremski et son aide article - bien que tout à fait obsolète.)
J'utilise ngrok ( https://ngrok.com/ ) pour cela. ngrok est un outil de ligne de commande qui permet de créer un tunnel pour localhost. Il crée une connexion http et https. Après l'avoir téléchargé, vous devez exécuter la commande suivante:
ngrok http 80
(Dans la version 2, la syntaxe est la suivante: ngrok http 80. Dans la version 2, tout port peut être tunnelisé.)
Après quelques secondes, il donnera deux urls:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
Maintenant, les deux URL pointent vers l'hôte local.
voici le moyen le plus simple de le faire
copiez d’abord ces fichiers server.crt & server.key (trouver en pièce jointe) dans votre répertoire Apache/conf/ssl
puis ouvrez le fichier httpd.conf et ajoutez la ligne suivante
Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot "d:/wamp/www" #your wamp www root dir
ServerName localhost
SSLEngine on
SSLCertificateFile "d:/wamp/bin/Apache/Apache2.4.4/conf/ssl/server.crt"
SSLCertificateKeyFile "d:/wamp/bin/Apache/Apache2.4.4/conf/ssl/server.key"
</VirtualHost>
Afin de protéger la sécurité des informations envoyées vers et depuis votre serveur Web, il est judicieux d'activer le cryptage des communications entre les clients et le serveur. Cela s'appelle souvent SSL.
Configurons donc HTTPS avec un certificat auto-signé sur Apache2. Je vais énumérer les étapes à suivre:
Sudo apt-get installer Apache2
Sudo service statut Apache2
Il devrait sortir
Vérifiez que vous obtenez la page par défaut pour Apache2 comme ceci.
openssl req -x509 -newkey rsa: 2048 -keyout mykey.key -out mycert.pem -days 365 -nodes
S'il vous plaît remplir les informations en conséquence, comme indiqué ci-dessous.
mykey.key et mycert.pem doivent être créés dans votre travail actuel. annuaire.
Sudo cp mycert.pem/etc/ssl/certs
Sudo cp mykey.key/etc/ssl/private
Sudo a2enmod ssl
Il devrait sortir comme ça
Sudo vi /etc/Apache2/sites-available/default-ssl.conf
Veuillez trouver ces deux lignes et les remplacer par vos chemins de certificats et de clés.
Initial
Final
cd/etc/Apache2/sites-available /
Sudo a2ensite default-ssl.conf
Service Sudo Apache2 redémarrer
Cela devrait produire quelque chose comme ceci avec un avertissement que la page que vous êtes sur le point de regarder n'est pas sécurisée, car nous avons configuré le serveur avec un certificat auto-signé.
Windows + Apache 2.4, par exemple:
décommentez ssl_module dans votre fichier httpd.conf
.
LoadModule ssl_module modules/mod_ssl.so
écoutez le port 443 comme le port 80 dans votre fichier httpd.conf
.
Listen 80
Listen 443
décommentez Inclure les hôtes virtuels dans votre fichier httpd.conf
.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
ajoutez VirtualHost dans votre conf/extra/httpd-vhosts.conf
<VirtualHost _default_:443>
DocumentRoot "D:/www" #your site directory path
ServerName localhost
#ServerAlias localhost.com localhost2.com
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
<Directory "D:/www">
Options -Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
seules les lignes de numéro de port 443
et SSL......
sont différentes de la configuration http normale.
enregistrez votre fichier de configuration et redémarrez le service Apache. alors vous pouvez visiter https: // localhost /
Le navigateur Web vous avertira que c'est dangereux la première fois. Il vous suffit de choisir de continuer.
C'est en fait assez facile, en supposant que vous ayez une installation openssl à portée de main. (Sur quelle plateforme êtes-vous?)
En supposant que vous soyez sur linux/solaris/mac os/x, le mini-HOWTO Apache SSL/TLS de Van a une excellente solution que je ne vais pas reproduire ici.
Toutefois, selon le résumé, vous devez créer un certificat auto-signé. Comme vous utilisez probablement Apache pour localhost pour le développement (c’est-à-dire qu’il ne s’agit pas d’un serveur Web public), vous saurez que vous pouvez faire confiance au certificat auto-signé et ignorer les avertissements que votre navigateur vous adressera.
Cela devrait être un travail Ubuntu, menthe similaire avec Apache2
C'est un bon guide, donc suivre ce
et en laissant votre ssl.conf comme ceci ou similaire similaire
<VirtualHost _default_:443>
ServerAdmin [email protected]
ServerName localhost
ServerAlias www.localhost.com
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/Apache2/ssl/Apache.crt
SSLCertificateKeyFile /etc/Apache2/ssl/Apache.key
tu peux l'avoir.
J'espère que cette aide pour linuxer
C'est très simple,
il suffit de lancer les commandes suivantes
Sudo a2enmod ssl
Sudo service Apache2 restart
Sudo a2ensite default-ssl.conf
Ça y est, vous avez terminé.
Si vous voulez forcer SSL (pour utiliser https toujours), éditez le fichier:
Sudo nano /etc/Apache2/sites-available/000-default.conf
et ajouter cette ligne
<VirtualHost *:80>
. . .
Redirect "/" "https://your_domain_or_IP/"
. . .
</VirtualHost>
puis redémarrez à nouveau
Sudo service Apache2 restart
Je poste cette réponse, car j’ai moi-même eu du mal à le faire et Chrome a mis à jour sa sécurité en exigeant Subject Alternative Name (---) que beaucoup de messages n'ont pas car ce n'était pas nécessaire quand ils ont été postés en tant que réponse. Je suppose que WAMP est déjà installé.
ÉTAPE 1
Télécharger OpenSSL Light et installer
ÉTAPE 2 (Facultatif)
Bien que cette partie soit optionnelle, elle facilite l’exécution ultérieure de commandes. Si vous ignorez cette étape, vous devrez fournir le chemin d'accès complet à openssl.exe où vous exécuterez la commande. Si vous préférez le définir, mettez à jour le chemin openssl.exe dans les variables d'environnement.
Variables d'environnement -> Variables système -> Chemin -> Edition -> Nouveau -> c:\Program Files\OpenSSL-Win64\bin
ÉTAPE 3
Créez un dossier nommé "clé" dans le répertoire c:/wamp64/bin/Apache/apache2.4.27(your version number)/conf/
.
Créez un fichier de configuration pour votre autorité de certification MyCompanyCA.cnf avec son contenu (vous pouvez le modifier à vos besoins) :
[ req ]
distinguished_name = req_distinguished_name
x509_extensions = root_ca
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, fully qualified Host name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ root_ca ]
basicConstraints = critical, CA:true
Créez le fichier de configuration des extensions MyCompanyLocalhost.ext pour votre certificat de serveur Web:
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mycy.mycompany.com
ÉTAPE 4
Exécutez ces commandes dans l’ordre donné pour générer la clé et les certificats:
openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111
En conséquence, vous aurez MyCompanyCA.cer , MyCompanyLocalhost.cer et MyCompanyLocalhost.pvk fichiers.
ÉTAPE 5
Installer MyCompanyCA.cer sous
Panneau de configuration -> Gérer les certificats utilisateur -> Autorités de certification racines de confiance -> Certificats
Pour installer MyCompanyLocalhost.cer , il suffit de double-cliquer dessus.
ÉTAPE 6
Ouvrez c:/wamp64/bin/Apache/apache2.4.27(your version number)/conf/httpd.conf
et un-commentaire (supprimez le #) les 3 lignes suivantes:
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
ÉTAPE 7
Ouvrez c:/wamp64/bin/Apache/apache2.4.37/conf/extra/httpd-ssl.conf
et modifiez tous les paramètres comme indiqué ci-dessous:
Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin [email protected]
ErrorLog "c:/wamp64/bin/Apache/apache2.4.27/logs/error.log"
TransferLog "c:/wamp64/bin/Apache/apache2.4.27/logs/access.log"
SSLCertificateFile "c:/wamp64/bin/Apache/apache2.4.27/conf/key/MyCompanyLocalhost.cer"
SSLCertificateKeyFile "c:/wamp64/bin/Apache/apache2.4.27/conf/key/MyCompanyLocalhost.pvk"
SSLSessionCache "shmcb:c:/wamp64/bin/Apache/apache2.4.27/logs/ssl_scache(512000)"
CustomLog "c:/wamp64/bin/Apache/apache2.4.27/logs/ssl_request.log" \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Remarque: C'est la partie la plus délicate. Si vous faites une petite erreur en éditant ce fichier, SSL ne fonctionnera pas. Faites-en une copie avant de la modifier.
ÉTAPE 8
Redémarrez Wamp et Chrome. L'hôte local est maintenant sécurisé: https: // localhost
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Et votre environnement local est accessible à partir de https://youruniquesubdomain.serveo.net
Je ne pouvais pas croire quand j'ai trouvé ce service. Il offre tout et c'est le plus facile à utiliser. S'il y avait un outil aussi facile et indolore pour tous les problèmes ...
Ce tutoriel pour CentOS était facile à suivre et ne prenait que 5 minutes environ: https://wiki.centos.org/HowTos/Https
Je ne détaillerai pas chaque étape ici, mais les étapes principales sont les suivantes:
1.) Installez le module openssl pour Apache, s'il n'est pas déjà installé
2.) Générer un certificat auto-signé
--À ce stade, vous devriez pouvoir visiter https: // localhost avec succès
3.) Configurer un hôte virtuel si nécessaire
Cela fonctionnait sous Windows 10 avec Apache24:
1 - Ajoutez ceci au bas de C:/Apache24/conf/httpd.conf
Listen 443
<VirtualHost *:443>
DocumentRoot "C:/Apache24/htdocs"
ServerName localhost
SSLEngine on
SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
</VirtualHost>
2 - Ajoutez les fichiers server.crt
et server.key
dans le dossier C:/Apache24/conf/ssl
. Voir les autres réponses sur cette page pour trouver ces 2 fichiers.
C'est ça!
Pour ceux qui utilisent macOS, c’est un excellent guide https://getgrav.org/blog/macos-sierra-Apache-multiple-php-versions pour configurer votre environnement de développement Web local. Dans sa 3ème partie https://getgrav.org/blog/macos-sierra-Apache-ssl Andy Miller explique comment configurer Apache avec un certificat auto-signé:
C'est la commande clé:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Mais il y a quelques étapes à suivre, alors jetez-y un coup d'œil et bonne chance! ;)
J'aimerais ajouter quelque chose à la très bonne réponse de @CodeWarrior, qui fonctionne parfaitement sur Chrome, mais nécessite une étape supplémentaire pour Firefox.
Étant donné que Firefox n'utilise pas les certificats d'autorité de certification que Windows applique par défaut, vous devez utiliser about:config
, faire défiler jusqu'à security.enterprise_roots.enabled
et le définir sur true.
Votre certificat doit maintenant être considéré comme valide également sur Firefox.
Bien sûr, cela n’est que pour le développement, car la confiance de SSL est un problème de sécurité critique et ne changez ces paramètres que si vous connaissez les implications.
Exécuter Apache sur Windows 10 ici. Je ne pouvais pas faire en sorte que Chrome fasse confiance au certificat fourni par Simon dans la première réponse. J'ai fini par utiliser PowerShell pour générer un certificat auto-signé.
Dans PowerShellNew-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1
Tapez Certificate
dans la barre de recherche de Windows, cliquez sur l'élément Manage Computer Certificates
du panneau de configuration suggéré.
Dans le programme de gestion des certificats qui s’affiche (certlm), vous devriez maintenant voir une touche localhost
sous Personal >> Certificates
.
J'ai copié ce certificat dans Trusted Root Certification Authorities
. Je serai honnête en ce que je ne suis pas sûr que ce soit nécessaire.
En sélectionnant le certificat nouvellement copié, double-cliquez dessus (le certificat localhost). Dans le mode Certificat, cliquez sur l'onglet Details
, puis sur le bouton Copy to File...
.
Cela affichera et Assistant d'exportation, j'ai choisi d'exporter la clé privée, cliquez sur Suivant. J'ai aussi choisi de Export all extended properties
(encore une fois, je ne suis pas certain que cela était nécessaire). J'ai choisi d'utiliser un mot de passe simple (pass
) et le cryptage par défaut. Choisissez un dossier à exporter et nommez le fichier. Vous pouvez toujours déplacer et renommer le fichier si nécessaire. Par souci de simplicité, copions-le dans votre dossier conf sous votre installation Apache (dans mon cas: C:\Apache\conf
) et nommez le fichier myCert
(le fichier résultant sera un fichier .pfx
)
.pfx
à utiliser avec ApacheA partir de là, j'ai essentiellement suivi le didacticiel ici , mais je vais ajouter des instructions ici (modifiées pour nos paramètres) au cas où ce site serait en panne.
Ouvrez votre invite de commande dans le dossier /Apache/conf/
]
Exécutez les commandes suivantes: Remarque: Cela suppose que vous avez openssl.exe
dans le bin
dossier dans le dossier racine Apache (ce devrait être standard/par défaut)
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
Ceci vous demandera un mot de passe, entrez ce que vous avez entré à l'étape 2 lors de l'exportation du fichier .pfx
. Dans mon cas, c'est pass
. J'ai entré le même mot de passe pour la phrase PEM et à nouveau pour vérifier. Cela créera un nouveau fichier nommé privateKey.pem
dans votre dossier conf.
Ensuite, lancez
..\bin\openssl rsa -in privateKey.pem -out private.pem
De nouveau, il vous sera demandé un mot de passe (Enter pass phrase for privateKey.pem:
), utilisez le mot de passe que vous avez défini pour privateKey.pem
. (Dans mon cas, pass
)
Vous devriez voir un message indiquant writing RSA key
et un nouveau fichier nommé private.pem
dans votre dossier conf/
. Ce sera votre SSLCertificateKeyFile.
Maintenant pour générer le certificat de serveur correspondant. Run:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
Ceci vous demandera un mot de passe, entrez ce que vous avez entré à l'étape 2 lors de l'exportation du fichier .pfx
. Entrez-le et vous aurez maintenant un fichier nommé EntrustCert.pem
dans votre dossier conf
. Ceci est votre SSLCertificateFile
httpd.conf
Utilisez les nouveaux fichiers créés en tant que clé et certificat de votre serveur. Assurez-vous de changer la racine de votre document pour y placer vos fichiers!
ServerName localhost:80
Protocols h2 h2c http/1.1
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<VirtualHost _default_:443>
ServerName localhost:443
DocumentRoot ${SRVROOT}/htdocs/MYSITE
SSLEngine on
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
</VirtualHost>
Aussi dans httpd.conf
:
LoadModule ssl_module modules/mod_ssl.so
n'est pas commenté (pas de #
devant)LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule http2_module modules/mod_http2.so
Include conf/extra/httpd-ssl.conf
(REMARQUE: assurez-vous que le fichier se trouve là!) J'ai également des bibliothèques slsl curl et open incluses:
# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"
Ces modules ne devraient pas être nécessaires, mais je noterai que je les ai activés:LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
httpd-ssl.conf
Dans le dossier extra/
du dossier conf/
, vous devriez voir un fichier nommé httpd-ssl.conf
.
5a. Changer le DocumentRoot
- Changer le DocumentRoot
par défaut pour le répertoire où se trouvent vos fichiers.
5b. Modifiez la ServerName
- Modifiez la ServerName
par défaut (quelque chose comme www.example.com:443
) en localhost:443
5c. Changer le SSLCertificateFile
Changez la SSLCertificateFile
de la valeur par défaut (${SRVROOT}/conf/server.crt
) en ${SRVROOT}/conf/EntrustCert.pem
5c. Changer le SSLCertificateKeyFile
Changez la SSLCertificateKeyFile
de la valeur par défaut (${SRVROOT}/conf/server.key
) en ${SRVROOT}/conf/private.pem
Tous ensemble, dans la balise <VirtualHost _default_:443>
.
# General setup for the virtual Host
DocumentRoot "${SRVROOT}/htdocs/MYSITE"
ServerName localhost:443
ServerAdmin [email protected]
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
# SSL Engine Switch:
# Enable/Disable SSL for this virtual Host.
SSLEngine on
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will Prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
# Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
# require an ECC certificate which can also be configured in
# parallel.
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
#SSLCertificateFile "${SRVROOT}/conf/server-dsa.crt"
#SSLCertificateFile "${SRVROOT}/conf/server-ecc.crt"
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
# ECC keys, when in use, can also be configured in parallel
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-dsa.key"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-ecc.key"
Après avoir effectué ces modifications, vous devriez pouvoir redémarrer Apache et accéder à https: // localhost sans avertissement de sécurité ni petit cadenas!
J'espère que ça aidera quelqu'un! ????
Sources:
1.) Réponse d'Auri Rahimzadeh à la création d'un certificat auto-signé
2.) Entrust Datacard - Comment convertir un fichier .pfx pour qu’il soit utilisé avec un serveur Apache?
Une autre méthode simple consiste à utiliser Python Server dans Ubuntu.
Générez server.xml avec la commande suivante dans le terminal:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
Remarque: En supposant que vous avez openssl installé.
Enregistrez le code ci-dessous dans un fichier nommé simple-https-server.py
dans le répertoire de votre choix pour exécuter le serveur.
import BaseHTTPServer, SimpleHTTPServer
import ssl
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()
Exécutez le serveur à partir du terminal:
python simple-https-server.py
Visitez la page à:
https://localhost:4443
Notes supplémentaires: :
Vous pouvez modifier le port dans le fichier simple-https-server.py
en ligne.
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
Vous pouvez changer localhost
en votre IP dans la même ligne que ci-dessus:
httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
et accédez à la page sur n’importe quel appareil connecté à votre réseau. Ceci est très pratique dans des cas tels que "vous devez tester l’API HTML5 GeoLocation dans un mobile et Chrome restreint l’API dans les connexions sécurisées uniquement".
Gist: https://Gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/