Yanıtlar:
Ben sadece denedim - Windows benim localhost Apache bazı geliştirme kodunu test etmek gerekiyordu . Bu WAAAY olması gerekenden daha zordu. Ama burada çok saç tokasından sonra çalışmayı başaran adımlar ...
Apache kurulumumun openssl.exe
yararlı olduğunu gördüm . Bir kopyanız yoksa indirmeniz gerekir. Kopyam, Apache2\bin
aşağıda referans olarak gördüğüm klasördeydi.
Adımlar:
Apache2\conf
Klasörde bir komut istemi açma..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
Aşağıdakiler hariç tüm soruları boş bırakabilirsiniz:
Bu tamamlandığında, şunu yazın
..\bin\openssl rsa -in blarg.pem -out blarg.key
Kendinden imzalı sertifikanızı şunu yazarak oluşturun:
..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365
Apache'nin conf\httpd.conf
dosyasını açın ve SSL modülünün etkinleştirildiğinden emin olun - bu satırın başında karma olmamalıdır:
LoadModule ssl_module modules/mod_ssl.so
Bazı Apache yüklemeleri SSL yapılandırmasını ayrı bir dosyaya yerleştirir. Öyleyse, SSL conf dosyasının dahil edildiğinden emin olun. Benim durumumda bu hattı uncomment zorunda kaldı:
Include conf/extra/httpd-ssl.conf
SSL yapılandırmasında httpd-ssl.conf
aşağıdaki satırları güncellemem gerekti:
SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
DocumentRoot
- bunu web dosyalarınız için klasöre ayarlayınServerName
- sunucunun ana bilgisayar adıSSLCertificateFile "conf/blarg.cert"
SSLCertificateKeyFile "conf/blarg.key"
Apache'yi yeniden başlatın.
https://localhost/
Tarayıcınıza yüklemeyi deneyin .Umarım şimdiye kadar yapmışsınızdır. Bu yayını başka yararlı bilgilerle güncellemekten çekinmeyin.
(Ekran görüntüleri Neil Obremski ve yardımcı makalesinin izniyle - şimdi oldukça güncel değil.)
Bunun için ngrok ( https://ngrok.com/ ) kullanıyorum . ngrok bir komut satırı aracıdır ve localhost için bir tünel oluşturur. Hem http hem de https bağlantısı oluşturur. İndirdikten sonra aşağıdaki komutun çalıştırılması gerekir:
ngrok http 80
(Sürüm 2'de sözdizimi şöyledir: ngrok http 80. Sürüm 2'de herhangi bir bağlantı noktası tünellenebilir.)
Birkaç saniye sonra iki url verir:
http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com
Şimdi, her iki url de yerel ana makineye işaret ediyor.
İşte bunu yapmanın en basit yolu
önce bu server.crt ve server.key dosyalarını (ekte bul) apache / conf / ssl dizininize kopyalayın
sonra httpd.conf dosyasını açın ve aşağıdaki satırı ekleyin
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>
Web sunucunuza ve web sunucunuzdan gönderilen bilgilerin güvenliğini korumak için, istemciler ve sunucu arasındaki iletişimin şifrelenmesini sağlamak iyi bir fikirdir. Buna genellikle SSL denir .
Şimdi Apache2'de kendinden imzalı bir sertifika ile HTTPS kuralım. İzlemeniz gereken adımları listeleyeceğim:
sudo apt-get install apache2
sudo service apache2 durumu
Çıktı almalı
Bunun gibi apache2 için varsayılan sayfa aldığınızdan emin olun.
openssl req -x509 -yeni anahtar rsa: 2048 -kod mykey.key -out mycert.pem -gün 365-düğüm
Lütfen bilgileri aşağıda gösterildiği gibi doldurun.
mykey.key ve mycert.pem , mevcut çalışma dizininizde oluşturulmalıdır.
sudo cp mycert.pem / etc / ssl / certs
sudo cp mykey.key / etc / ssl / private
sudo a2enmod ssl
Bu şekilde çıktı vermelidir
sudo vi /etc/apache2/sites-available/default-ssl.conf
Lütfen bu iki satırı bulun ve bunları sertifika ve anahtar yollarınızla değiştirin.
ilk
final
cd / etc / apache2 / mevcut siteler /
sudo a2ensite default-ssl.conf
sudo service apache2 yeniden başlatma
Sunucuyu kendinden imzalı bir sertifika ile yapılandırdığımızdan, görüntülemek üzere olduğunuz sayfanın güvenli olmadığı uyarısıyla böyle bir şey çıkarmalıdır.
default-ssl.conf
olduğu gibi bıraktım . Ben adlandırmak üzereydi mycert
için ssl-cert-snakeoil
sadece o kullanılan böylece bu dosya zaten var ama! Böylece Debian'a iki adımı güvenle atlayabildim.
Windows + Apache 2.4, örneğin:
httpd.conf
dosyanızdaki ssl_module uncomment .
LoadModule ssl_module modules/mod_ssl.so
443 portunu tıpkı 80 port gibi dinleyin httpd.conf
.
Listen 80
Listen 443
uncomment httpd.conf
Dosyanıza Sanal ana makineleri dahil et .
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
içine VirtualHost ekleyin 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>
yalnızca bağlantı noktası numarası 443
ve SSL......
satırları normal http yapılandırmasından farklıdır.
yapılandırma dosyasını kaydedin ve apache servisini yeniden başlatın. o zaman https: // localhost /
Web tarayıcısı sizi ilk kez güvensiz olduğu konusunda uyaracaktır, sadece devam etmeyi seçin.
Aslında bir openssl kurulumuna sahip olduğunuzu varsayarsak oldukça kolaydır. (Hangi platformdasın?)
Linux / solaris / mac os / x'de olduğunuzu varsayarsak, Van'ın Apache SSL / TLS mini-NASIL belgesinin burada çoğaltmayacağım mükemmel bir yolu var.
Ancak yönetici özeti, kendinden imzalı bir sertifika oluşturmanız gerektiğidir. Muhtemelen geliştirme için localhost için apache çalıştırdığınızdan (yani genel bir web sunucusu değil), kendinden imzalı sertifikaya güvenebileceğinizi ve tarayıcınızın size atacağı uyarıları göz ardı edebileceğinizi bileceksiniz.
Bu Apache2 ile benzer Ubuntu, Nane çalışması olmalıdır
Güzel bir rehber, bu yüzden bunu takip etmek
ve ssl.conf'unuzu böyle veya benzeri bir şekilde bırakarak
<VirtualHost _default_:443>
ServerAdmin your@email.com
ServerName localhost
ServerAlias www.localhost.com
DocumentRoot /var/www
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
alabilirsin.
Umarım linuxer için bu yardım
Çok basit,
sadece aşağıdaki komutları çalıştırın
sudo a2enmod ssl
sudo service apache2 restart
sudo a2ensite default-ssl.conf
Hepsi bu, işiniz bitti.
SSL'yi zorlamak istiyorsanız (her zaman https kullanmak için), dosyayı düzenleyin:
sudo nano /etc/apache2/sites-available/000-default.conf
ve bu bir satırı ekle
<VirtualHost *:80>
. . .
Redirect "/" "https://your_domain_or_IP/"
. . .
</VirtualHost>
sonra tekrar başlat
sudo service apache2 restart
systemctl reload apache2
peşinden koşman gerek sudo a2ensite default-ssl.conf
.
Bu cevabı kendimle mücadele ettiğim için gönderiyorum ve Chrome, güvenliklerini, cevap olarak gönderildiklerinde gerekli olmayan birçok gönderinin olmadığı Konu Alternatif Adı gerektirerek güncelledi . WAMP'ın zaten kurulu olduğunu varsayıyorum.
AŞAMA 1
OpenSSL Light'ı indirin ve yükleyin
Bu bölüm isteğe bağlı olmasına rağmen, daha sonra komutların yürütülmesini kolaylaştırır. Bu adımı atlarsanız, komutu yürüteceğiniz openssl.exe dosyasının tam yolunu sağlamanız gerekir. Ayarlamayı tercih ediyorsanız Ortam Değişkenleri'nde openssl.exe yolunu güncelleyin.
Ortam Değişkenleri -> Sistem Değişkenleri -> Yol -> Düzenle -> Yeni -> c: \ Program Dosyaları \ OpenSSL-Win64 \ bin
Adlı bir klasör oluşturun “anahtar” in c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/
dizinde.
İçeriklerle CA MyCompanyCA.cnf için yapılandırma dosyası oluşturun (ihtiyaçlarınıza göre değiştirebilirsiniz):
[ 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
Web sunucusu sertifikanız için MyCompanyLocalhost.ext uzantı yapılandırma dosyasını oluşturun :
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mycy.mycompany.com
Anahtarı ve sertifikaları oluşturmak için şu komutları verilen sırayla yürütün:
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
Sonuç olarak, MyCompanyCA.cer , MyCompanyLocalhost.cer ve MyCompanyLocalhost.pvk dosyalarına sahip olacaksınız .
Yükleme MyCompanyCA.cer altında
Denetim Masası -> Kullanıcı Sertifikalarını Yönet -> Güvenilen Kök Sertifika Yetkilileri -> Sertifikalar
MyCompanyLocalhost.cer'ı kurmak için sadece çift tıklayın.
Aşağıdaki 3 satırı açın c:/wamp64/bin/apache/apache2.4.27(your version number)/conf/httpd.conf
ve yorumu kaldırın (# işaretini kaldırın) :
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
c:/wamp64/bin/apache/apache2.4.37/conf/extra/httpd-ssl.conf
Tüm parametreleri aşağıda gösterilenlerle açın ve değiştirin:
Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin admin@example.com
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"
Not: Bu zor kısmı. Bu dosyayı düzenlerken küçük bir hata yaparsanız, SSL çalışmaz. Düzenlemeden önce bir kopyasını alın.
Wamp ve Chrome'u yeniden başlatın. Localhost artık güvende: https: // localhost
CentOS için bu HowTo'u takip etmek kolaydı ve sadece 5 dakika sürdü: https://wiki.centos.org/HowTos/Https
Burada her adımı ayrıntılandırmayacağım, ancak ana adımlar:
1.) Zaten kurulmamışsa apache için openssl modülünü kurun
2.) Kendinden imzalı bir sertifika oluşturun
--Bu noktada, https: // localhost'u başarıyla ziyaret edebilmelisiniz
3.) Gerekirse sanal bir ana bilgisayar kurun
Bu, Apache24 ile Windows 10'da çalıştı:
1 - Bunu alt kısmına ekleyin 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 - server.crt
ve server.key
dosyalarını C:/Apache24/conf/ssl
klasöre ekleyin . Bu 2 dosyayı bulmak için bu sayfadaki diğer yanıtlara bakın.
Bu kadar!
httpd.conf
dosya var mı? Bu metni içeri koyduğumda apache2.conf
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Ve yerel ortamınıza https://youruniquesubdomain.serveo.net adresinden erişilebilir.
Bu hizmeti bulduğumda inanamadım. Her şeyi sunar ve kullanımı en kolay olanıdır. Her sorun için bu kadar kolay ve acısız bir araç olsaydı ...
Windows 10'da Apache çalışıyor. Chrome'un Simon tarafından verilen en iyi yanıtta verilen sertifikaya güvenmesini sağlayamadım. Yaptığım şey PowerShell'i kullanarak kendinden imzalı bir sertifika oluşturmaktı.
PowerShell
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My"
1'de
Tip Certificate
Windows arama çubuğuna tıklayın Manage Computer Certificates
önerilir kontrol paneli öğesi.
Gelen Sertifika Yönetimi programından (certlm), artık localhost
altında bir anahtar görmelisiniz Personal >> Certificates
.
Bu sertifikayı kopyaladım Trusted Root Certification Authorities
. Bunun gerekli olup olmadığından emin olmadığım konusunda dürüst olacağım.
Yeni kopyalanan sertifikayı seçerek, üzerine çift tıklayın (localhost sertifikası). Sertifika yönteminden önce Details
sekmeyi, ardından Copy to File...
düğmesini tıklayın.
Bu getirecek ve Verme Sihirbazı, özel anahtarı vermeyi seçtim, ileri tıklayın. Ben de seçtim Export all extended properties
(yine, bunun gerekli olup olmadığından emin değilim). Basit bir şifre ( pass
) ve varsayılan şifreleme kullanmayı seçtim . Dışa aktarılacak klasörü seçin ve dosyayı adlandırın. Gerekirse dosyayı her zaman taşıyabilir ve yeniden adlandırabilirsiniz. Basit olması için, Apache kurulumunuz altındaki conf klasörünüze kopyalayalım (Benim durumumda C:\apache\conf
:) ve dosyayı adlandırın myCert
(ortaya çıkan dosya bir .pfx
dosya olacaktır )
.pfx
Apache ile kullanmak için dosyayı dönüştürünBuradan temel olarak burada öğreticiyi takip ettim , ancak sitenin çökmesi durumunda talimatları (ayarlarımız için tweaked) ekleyeceğim.
Senin içinde İstemi Komut açın /apache/conf/
klasör
: Aşağıdaki komutlar Run Not: Bu, şu anlama varsayar openssl.exe
içinde bin
apache kök klasöründe klasöründe (bu standart / varsayılan olmalıdır)
..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem
Bu sizden bir şifre isteyecektir, .pfx
dosyayı dışa aktarırken 2. Adım için girdiğiniz bilgileri girin . Benim durumumda, bu pass
. PEM ifadesi için aynı şifreyi girdim ve tekrar doğruladım. Bu, privateKey.pem
conf klasörünüzde yeni bir dosya oluşturur .
O zaman koş
..\bin\openssl rsa -in privateKey.pem -out private.pem
Yine sizden bir şifre istenecektir ( Enter pass phrase for privateKey.pem:
), belirlediğiniz şifreyi kullanın privateKey.pem
. (Benim durumumda, pass
)
yazan bir mesaj görmeniz gerekir writing RSA key
ve adında yeni bir dosya private.pem
sizin de conf/
klasöründe. Bu SSLCertificateKeyFile dosyanız olacaktır.
Şimdi ilgili Sunucu Sertifikasını oluşturun. Çalıştırmak:
..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem
Bu sizden bir şifre isteyecektir, .pfx
dosyayı dışa aktarırken 2. Adım için girdiğiniz bilgileri girin . Bunu girin: Artık adlı bir dosya olacak EntrustCert.pem
senin içinde conf
klasöründe. Bu sizin SSLC sertifikanız
httpd.conf
Sunucunuzun anahtarı ve sertifikası olarak oluşturulan yeni dosyaları kullanın. Belge kökünüzü dosyalarınızın bulunduğu yere değiştirdiğinizden emin olun!
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>
Ayrıca httpd.conf
:
LoadModule ssl_module modules/mod_ssl.so
Uncommented olduğundan emin olun ( #
önde yok )LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule http2_module modules/mod_http2.so
Include conf/extra/httpd-ssl.conf
(NOT: Dosyanın burada olduğundan emin olun!)Ayrıca curl ve açık ssl kütüphaneleri dahil:
# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"
Bu modüller gerekli olmamalı, ancak bunları etkinleştirdiğimi not edeceğim:
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
httpd-ssl.conf
Gelen extra/
klasör conf/
klasöründe adlı bir dosya görmelisiniz httpd-ssl.conf
.
5a. DeğiştirDocumentRoot
- DocumentRoot
Varsayılanı, dosyalarınızın bulunduğu dizine değiştirin .
5b. DeğiştirServerName
- ServerName
Varsayılandan (şuna benzer www.example.com:443
)localhost:443
5c. DeğiştirSSLCertificateFile
Değiştir SSLCertificateFile
varsayılan ( ${SRVROOT}/conf/server.crt
kadar)${SRVROOT}/conf/EntrustCert.pem
5c. DeğiştirSSLCertificateKeyFile
Değiştir SSLCertificateKeyFile
varsayılan ( ${SRVROOT}/conf/server.key
kadar)${SRVROOT}/conf/private.pem
Hep birlikte, <VirtualHost _default_:443>
etikette.
# General setup for the virtual host
DocumentRoot "${SRVROOT}/htdocs/MYSITE"
ServerName localhost:443
ServerAdmin admin@example.com
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"
Bu değişiklikleri yaptıktan sonra , bir güvenlik uyarısı ve küçük bir asma kilit olmadan Apache'yi yeniden başlatabilir ve https: // localhost'a gidebilirsiniz !
Umarım bu birine yardımcı olur! 😊
Kaynaklar:
1.) Auri Rahimzadeh'in kendinden imzalı bir sertifika oluşturma konusundaki cevabı
2.) Entrust Datacard - Bir .pfx'i Apache sunucusuyla kullanmak için nasıl dönüştürebilirim?
Başka bir basit yöntem Ubuntu'da Python Sunucusu kullanmaktır.
Terminalde aşağıdaki komutla server.xml oluşturun:
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
Not: Bilgisayarınızda openssl kurulu olduğu varsayılarak .
Adlı bir dosyada kodunun altına kaydet simple-https-server.py
içinde herhangi sunucuyu çalıştırmak istediğiniz dizine.
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()
Sunucuyu terminalden çalıştırın:
python simple-https-server.py
Sayfayı şu adreste ziyaret edin:
https://localhost:4443
İlave notlar :
Dosyadaki bağlantı noktasınısimple-https-server.py
satır içinde değiştirebilirsiniz
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
Şunları yapabilirsiniz değiştirmek localhost
için IP aynı çizginin üstünde yer:
httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
ağınıza bağlı herhangi bir cihazdan sayfaya erişin. Bu, "HTML5 GeoLocation API'sını bir mobil cihazda test etmeniz gerekir ve Chrome, API'yı yalnızca güvenli bağlantılarda kısıtlar" gibi durumlarda çok kullanışlıdır.
Gist: https://gist.github.com/dergachev/7028596
http://www.piware.de/2011/01/creating-an-https-server-in-python/
MacOS kullananlar için bu , yerel web geliştirici ortamınızı kurmak için https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions için harika bir rehberdir . Üçüncü bölümünde https://getgrav.org/blog/macos-sierra-apache-ssl Andy Miller, kendinden imzalı bir sertifika ile apache'nin nasıl kurulacağını açıklıyor:
Bu tuş komutudur:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt
Ama takip etmeniz gereken birkaç adım var, bu yüzden bunu kontrol edin ve iyi şanslar! ;)
@CodeWarrior'un Chrome'da mükemmel çalışan çok iyi cevabına bir şeyler eklemek istiyorum, ancak Firefox için ek bir adım gerekiyor.
Firefox, Windows'un varsayılan olarak yaptığı CA Sertifikalarını itmediğinden, devam etmeniz about:config
, aşağı kaydırmanız security.enterprise_roots.enabled
ve true olarak değiştirmeniz gerekir.
Artık sertifikanız Firefox'ta da geçerli olarak görülmelidir.
Elbette bu sadece geliştirme amaçlıdır, çünkü ssl güveni kritik bir güvenlik sorunudur ve bu ayarları yalnızca sonuçları biliyorsanız, değiştirin.
ssh -R youruniquesubdomain:80:localhost:3000 serveo.net
Subdomain ve port numaranızıhttps://youruniquesubdomain.serveo.net