Really Simple SSL

外掛說明

Really Simple SSL 外掛會自動偵測網站設定,並為網站的 HTTPS 通訊協定加密進行組態。
為保持外掛的輕量化,僅提供最低限度的設定。使用這個外掛便能將整個網站移轉至 SSL。

三個簡單步驟便能完成設定:

  • 取得 SSL 憑證 (外掛無法為網站取得憑證,很抱歉)。
  • 啟用外掛。
  • 一鍵啟用 SSL。

在執行任何操作前請先備份網站!如果尚未制訂完整的網站備份原則,請儘速制訂。另請參閱這篇線上說明 (英文)。

Really Simple SSL 的程式碼同時也發表於 GitHub 上。

喜歡 Really Simple SSL 嗎?

希望這個外掛能為網站管理員減少一些工作時間。如果願意支援這個外掛的後續開發,可以考慮購買具備更多實用功能的付費版本

Pro 版功能

  • 掃描混合內容。如果網站尚未顯示綠色鎖頭圖示,便會顯示相關必要操作。
  • 提供啟用 HTTP 嚴格傳輸安全性 (HTTP Strict Transport Security,HSTS) 的設定
  • 提供加入 HSTS 預載清單的網站組態設定。
  • 在管理後台提供混合內容修正程式。
  • 在設定頁提供更多詳細資訊。
  • 憑證到期檢查:當網站的 SSL 憑證即將到期時,網站管理員會收到電子郵件通知。
  • 付費技術支援。

這個外掛的實際作用

  • 這個外掛能處理 WordPress 網站使用 SSL 憑證時所遇到的大多數問題,例如當網站位於反向 Proxy/負載平衡器後方,或 WordPress 網站沒有可用於偵測 SSL 的標頭通過時。
  • 所有傳入要求均會重新導向至 HTTPS。預設使用 WordPress 內部重新導向,但也可以啟用 .htaccess 重新導向。
  • 會將網站網址及首頁網站變更為 HTTPS。
  • 除了連結至其他網域的超連結外,網站中所有 http:// 的不安全內容均會以 https:// 加以取代。無論如何,除了 siteurl 及 homeurl 外,資料庫不會有任何變更。

如果有任何疑問、使用問題或建議,均可與我聯絡。Really Simple SSL 由 Really Simple Plugins 小組所開發。

想為這個外掛製作母語本地化版本嗎?

在這個外掛的本地化專案頁面中,可以很方便的加入本地化母語譯文。如有需要,我 (指外掛開發者) 可以為你的 WordPress.org 帳號加上外掛翻譯編輯權限,以便核准譯文。

螢幕擷圖

  • 外掛啟用後,如果偵測的到網站上的 SSL 憑證,便能啟用 SSL。
  • 在設定頁面中檢視相關組態。
  • 在設定頁面中檢視相關組態。
  • 混合內容掃描。

安裝方式

外掛安裝步驟:

  1. 為網站建立備份。
  2. 安裝 SSL 憑證。
  3. 下載外掛 ZIP 檔。
  4. 將外掛上傳至 wp-content/plugins 目錄。
  5. 在 WordPress 管理後台中,前往 [外掛] 選單,然後點擊 [啟用]。
  6. 接下來網站管理員該會收到要求啟用 SSL 的通知,點擊該按鈕並重新登入。

常見問題集

知識庫

有關重新導向迴圈、停用外掛、網站混合內容、錯誤訊息等的詳細說明及線上文件,請前往外掛官網的知識庫 (英文) 自行查閱。

混合內容修正程式會造成網站反應時間變慢嗎?

以一個大約有 60000 個字元的網站進行測試,使用混合內容修正程式所造成的延遲大約 0.00188 秒。如果這項測試結果對你的網站來說是項嚴重延遲,請手動修正網站上的混合內容並在外掛設定中加以停用。

解除安裝 Really Simple SSL

在為網站啟用 SSL 前,外掛會先檢查網站的 SSL 憑證。如果網站管理員將網站移轉至沒有 SSL 的主機環境,便有可能在管理後台遭到鎖定。
如果因故無法停用這個外掛,請不要直接以移除外掛目錄 (更名或刪除) 的方式進行解除安裝,務必遵照這份說明 (英文) 進行解除安裝的相關操作。

混合內容問題

大多數的混合內容問題是由 CSS 及 JS 檔案內的網址所造成。
如需瞭解如何尋找混合內容的詳細步驟說明,請參閱這篇文章 (英文)。

重新導向迴圈問題

如果網站遇到重新導向迴圈的問題,請參考這份說明 (英文) 進行檢查。

這個外掛是否與 WordPress 多站網路相容?

這個外掛相容於 WordPress 多站網路,而且有個專屬的多站網路設定頁面,供超級管理員為多站網路啟用 SSL 及啟用個別網站 SSL 兩者間進行切換。在 Pro 版專屬於多站網路的功能中,超級管理員可以在多站網路層級覆寫旗下所有網站的 SSL 設定,並且可以透過多站網路選單為每個網站啟用及停用 SSL。* Really Simple SSL 在 https://www.really-simple-ssl.com/ 上維護了一份內容豐富的知識庫。

使用者評論

Lives up to its name

Simple SSL has saved me time and hassles on my own and my friends’ sites. By allowing me to activate SSL with the install of a plugin and the click of a button it has saved me the hassle of editing htaccess files.

Kudos to the developers 🙂

Utterly amazing

The fonts on my site were not passing through an SSL, so the fallback fonts were displaying. I installed this. Immediate fix. If I could give 500 stars I would.

Merciiiiii

J’ai migré mon site vers un nouveau serveur, j’ai modifié toutes les URL de ma base de données, mais une grosse partie de la mise en page avait planté. 2 jours que je me cassais la tête et je ne trouvais pas.

J’ai trouvé ce plugin et là : miracle tout refonctionne !

Un énorme merci !!!!

Perfect!

As a newby, the SSL issue seemed impossible.
Really Simple SSL made it SSOOO easy!
Thank you for a terrific plugin!

閱讀全部 415 則使用者評論

貢獻者及開發者

Really Simple SSL 外掛為開源軟體。以下人員為這個外掛做出了重大貢獻。

貢獻者

Really Simple SSL 外掛目前已有 21 個本地化語言版本。 感謝所有譯者為這個外掛做出的貢獻。

將 Really Simple SSL 外掛本地化為台灣繁體中文版。

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

3.1.1

  • Fix: Multisite network wide activation/deactivation cron not saving settings because user capability not set this early in the process.

3.1

  • Fix: fixed a bug in certificate detection
  • Tweak: added HTTP_X_PROTO as supported header
  • Tweak: split HTTP_X_FORWARDED_SSL into a variation which can be either ‘1’ or ‘on’
  • Tweak: improved certificate detection by stripping domains of subfolders.
  • Tweak: Multisite bulk SSL activation now chunked in 200 site blocks, to prevent time out issues on large multisite networks.
  • Tweak: a ‘leave review’ notice for new free users

3.0.5

  • Fix: untranslatable string made translatable.

3.0.4

  • Fix: removed anonymous function to maintain PHP 5.2 compatibility.

3.0.3

  • Tweak: mixed content fixer will no longer fire on XML content
  • Tweak: network menu on subsites now always shows to Super Admins
  • Tweak: flush rewrite rules upon activation is delayed by one minute to reduce server load

3.0.2

  • Fix: fixed an image containing uppercase characters, which can lead to the image not showing on some servers.
  • Fix: fixed an issue where the ‘data-rsssl=1’ marker wasn’t inserted when the tag was empty.

3.0.1

  • Tweak: Add privacy notice
  • Tweak: Set javascript redirect to false by default
  • Fix: Hide SSL notice on multisite for all subsites, and show only for “activate_plugins” cap users

3.0

  • Added a built-in certificate check in the class-certificate.php file that checks if the domain is present in the common names and/or the alternative names section.
  • The .htaccess redirect now uses $1 instead of {REQUEST_URI}.
  • Added an option to deactivate the plugin while keeping SSL in the SSL settings.
  • Added a filter for the Javascript redirect.
  • Added a sidebar with recommended plugins.

2.5.26

  • Fix: multisite menu not showing when main site is not SSL.
  • Fix: the admin_url and site_url filter get an empty blog_id when checking the URL for the current blog.
  • Tweak: added comment to encourage backing up to activation notice.
  • Tested the plugin with Gutenberg.

2.5.25

  • Fix: “switch mixed content fixer hook” option not visible on the multisites settings page
  • Tweak: several typo’s and uppercasing

2.5.24

  • Fix: On multisite, admin_url forced current blog URL’s over http even when the current blog was loaded over https. This will now only force http for other blog_urls than the current one, when they are on http and not https.

2.5.23

  • Tested up to WP 4.9
  • Added secure cookie notice

2.5.22

  • Changed mixed content fixer hook back from wp_print_footer_scripts to shutdown

2.5.21

  • Fixed double slash in paths to files
  • Fixed typo in activation notice.
  • Tweak: added option to not flush the rewrite rules
  • Fix: prevent forcing admin_url to http when FORCE_SSL_ADMIN is defined

2.5.20

  • Tweak: constant RSSSL_DISMISS_ACTIVATE_SSL_NOTICE to allow users to hide notices.
  • Tweak: setting to switch the mixed content fixer hook from template_redirect to init.
  • Fix: nag in multisite didn’t dismiss properly

2.5.19

  • Multisite fix: due to a merge admin_url and site_url filters were dropped, re-added them
  • Added constant RSSSL_CONTENT_FIXER_ON_INIT so users can keep on using the init hook for the mixed content fixer.

2.5.18

  • Tweak: Removed JetPack fix, as it is now incorporated in JetPack.
  • Tweak: Moved mixed content fixer hook to template_redirect
  • Fix: Changed flush rewrite rules hook from admin_init to shutdown, on activation of SSL.
  • Multisite fix: Changed function which checks if admin_url and site_url should return http or https to check for https in home_url.
  • Tweak: Explicitly excluded json and xmlrpc requests from the mixed content fixer

2.5.17

  • Tweak: Added a function where the home_url and site_url on multisite check if it should be http or https when SSL is enabled on a per site basis.
  • Tweak: Added a notice that there will be no network menu when Really Simple SSL is activated per site.
  • Tweak: Added hook for new multisite site so a new site will be activated as SSL when network wide is activated.
  • Tweak: limited the JetPack listen on port 80 tweak to reverse proxy servers.
  • Tweak: created a dedicated rest api redirect constant in case users want to prevent the rest api from redirecting to https.
  • Fix: dismissal of SSL activated notice on multisite did not work properly

2.5.16

  • Reverted wp_safe_redirect to wp_redirect, as wp_safe_redirect causes a redirect to wp-login.php even when the primary url is domain.com and request url www.domain.com

2.5.15

  • No functional changes, version change because WordPress was not processing the version update

2.5.14

  • Fix: fixed issue in the mixed content fixer where on optimized html the match would match across elements.
  • replaced wp_redirect with wp_safe_redirect
  • Added force SSL on wp_rest_api

2.5.13

  • Tweak: configuration more function

2.5.12

  • Added multisite settings page
  • Added filter for .htaccess code output
  • Increased user capability to “activate_plugins”
  • Added SSL_FORWARDED_PROTO = 1 in addition to SSL_FORWARDED_PROTO = on as supported SSL recognition variable.

2.5.11

  • Removed curl in favor of wp_remote_get

2.5.10

  • Fastest cache compatibility fix

2.5.9

  • Multisite tweaks

2.5.8

  • Removed automatic insertion of .htaccess redirects. The .htaccess redirects work fine for most people, but can cause issues in some edge cases.
  • Added option to explicitly insert .htaccess redirect
  • Added safe mode constant RSSSL_SAFE_MODE to enable activating in a minimized way
  • Fix: RLRSSSL_DO_NOT_EDIT_HTACCESS constant did not override setting correctly when setting was used before.
  • Dropped cache flushing on activation, as this does not always work as expected

2.5.7

  • Tweak: changes testurl to the function test_url()

2.5.6

  • version nr fix

2.5.5

  • Reverted some changes to 2.4.3, as it was causing issues for some users.

2.5.4

fix: Adjusted selection order of .htaccess rules, preventing redirect loops

2.5.3

  • Changed .htaccess redirects to use only one condition

2.5.2

  • removed file_get_contents function from class_url.php, as in some cases this causes issues.

2.5.1

  • Added help tooltips
  • Fix: typos in explanations
  • Added detected server to debug Log
  • Added test folder for CloudFlare
  • Added htaccess redirect to use all available server vars for checking SSL.

2.5.0

  • Tweak: Improved support for cloudflare
  • Tweak: Added support for Cloudfront, thanks to Sharif Alexandre
  • Fix: Prevent writing of empty .htaccess redirect
  • Tweak: Added option for 301 internal wp redirect
  • Tweak: Improved NGINX support
  • Tweak: Added support for when only the $_ENV[HTTPS] variable is present
  • Fix: Mixed content fixing of escaped URLS

2.4.3

  • Removed banner in admin

2.4.2

  • Tweak: Added reload over https link for when SSL was not detected
  • Fixed: After reloading page when the .htaccess message shows, .htaccess is now rewritten.
  • Tweak: Removed Yoast notices
  • Tested for WP 4.7
  • Fixed: bug where network options were not removed properly on deactivation
  • Tweak: Changed mixed content marker to variation without quotes, to prevent issues with scripting etc.

2.4.1

  • Tweak: improved HSTS check

2.4.0

  • Fixed: added a version check on wp_get_sites / get_sites to get rid of deprecated function notice, and keep backward compatibility.
  • Fixed: A bug in multisite where plugin_url returned a malformed url in case of main site containing a trailing slash, and subsite not. Thanks to @gahapati for reporting this bug.
  • Tweak: Added button to settings page to enable SSL, for cases where another plugin is blocking admin notices.
  • Tweak: Rebuilt the mixed content fixer, for better compatibility
  • Tweak: Improved the mixed content marker on the front-end, so it’s less noticeable, and won’t get removed by minification code.

2.3.14

  • Fixed: Clearing of WP Rocket cache after SSL activation causing an error
  • Fixed: Clearing of W3TC after SSL activation did not function properly

2.3.13

  • Re-inserted Jetpack fix.

2.3.12

  • Requires at least changed back to 4.2, as the function that this was meant for didn’t make it in current release yet.

2.3.11

  • Improved request method in url class
  • Added check if .htaccess actually exists in htaccess_contains_redirect_rules()
  • Made activation message more clear.

2.3.10

  • Tested for 4.6
  • Tweak: changed check for htaccess redirect from checking the RSSSL comments to checking the redirect rule itself
  • Fix: htaccess not writable message not shown anymore when SSL not yet enabled
  • Tweak: extended mixed content fixer to cover actions in forms, as those should also be http in case of external urls.
  • Tweak: added safe domain list for domains that get found but are no threat.
  • Tweak: added filter for get_admin_url in multisite situations, where WP always returns an https url, although the site might not be on SSL
  • Tweak: htaccess files and wpconfig are rewritten when the settings page is loaded

2.3.9

  • Fix: removed internal WordPress redirect as it causes issues for some users.
  • Tweak: improved url request method

2.3.8

  • Tweak: Fallback redirect changed into internal wp redirect, which is faster
  • Tweak: When no .htaccess rules are detected, redirect option is enabled automatically
  • Tweak: Url request falls back to file_get_contents when curl does not give a result

2.3.7

  • Updated screenshots

2.3.6

  • Fixed: missing priority in template_include hook caused not activating mixed content fixer in some themes

2.3.5

  • Fixed: javascript redirect insertion

2.3.4

  • Tweak: load css stylesheet only on options page and before enabling ssl
  • Tweak: mixed content fixer triggered by is_ssl(), which prevents fixing content on http.
  • Start detection and configuration only for users with “manage_options” capability

2.3.3

  • Fixed bug in force-deactivate script

2.3.2

  • Changed SSL detection so test page is only needed when not currently on SSL.
  • Some minor bug fixes.

2.3.1

  • Removed “activate ssl” option when no ssl is detected.
  • Optimized emptying of cache
  • Fixed some bugs in deactivation and activation of multisite

2.3.0

  • Gave more control over activation process by explicitly asking to enable SSL.
  • Added a notice if .htaccess is not writable

2.2.20

Fixed a bug in SSL detection

2.2.19

Changed followlocation in curl to an alternative method, as this gives issues when safemode or open_basedir is enabled.
Added dismissable message when redirects cannot be inserted in the .htaccess

2.2.18

Fixed bug in logging of curl detection

2.2.17

Security fixes in ssl-test-page.php

2.2.16

Bugfix with of insecure content fixer.

2.2.13

Added a check if the mixed content fixer is functioning on the front end
Fixed a bug where multisite per_site_activation variable wasn’t stored networkwide
Added clearing of wp_rocket cache thans to Greg for suggesting this
Added filter so you can remove the really simple ssl comment
Fixed a bug in the output buffer usage, which resolves several issues.
Added code so JetPack will run smoothly on SSL as well, thanks to Konstantin for suggesting this

2.2.12

  • To prevent lockouts, it is no longer possible to activate plugin when wp-config.php is not writable. In case of loadbalancers, activating ssl without adding the necessary fix in the wp-config would cause a redirect loop which would lock you out of the admin.
  • Moved redirect above the WordPress rewrite rules in the htaccess file.
  • Added an option to disable the fallback javascript redirection to https.

2.2.11

Brand new content fixer, which fixes all links on in the source of your website.

2.2.10

  • Roll back of mixed content fixer.

2.2.9

Improved the mixed content fixer. Faster and more effective.

2.2.8

Edited the wpconfig define check to prevent warnings when none are needed.

2.2.7

  • Extended detection of homeurl and siteurl constants in wp-config.php with regex to allow for spaces in code.
  • Changed text domain to make this plugin language packs ready
  • Added 404 detection to SSL detection function, so subdomains can get checked properly on subdomain multisite installs

2.2.6

Added slash in redirect rule
small bugfixes

2.2.3

documentation update

2.2.2

  • Added multisite support for the missing https server variable issue
  • Improved curl connection script
  • Added French translation thanks to Cedric

2.2.1

  • Small bug fixes

2.2.0

  • Added per site activation for multisite, but excluded this option for subfolder installs.
  • Added script to easily deactivate the plugin when you are locked out of the WordPress admin.
  • Added support for a situation where no server variables are given which can indicate SSL, which can cause WordPress to generate errors and redirect loops.
  • Removed warning on WooCommerce force SSL after checkout, as only unforce SSL seems to be causing problems
  • Added Russian translation, thanks to xsascha
  • Improved redirect rules in the .htaccess
  • Added option te disable the plugin from editing the .htaccess in the settings
  • Fixed a bug where multisite would not deactivate correctly
  • Fixed a bug where insecure content scan would not scan custom post types

2.1.18

  • Made WooCommerce warning dismissable, as it does not seem to cause issues
  • Fixed a bug caused by WP native plugin_dir_url() returning relative path, resulting in no SSL messages

2.1.17

  • Fixed a bug where example .htaccess rewrite rules weren’t generated correctly
  • Added WooCommerce to the plugin conflicts handler, as some settings conflict with this plugin, and are superfluous when you force your site to SSL anyway.
  • Excluded transients from mixed content scan results

2.1.16

  • Fixed a bug where script would fail because curl function was not installed.
  • Added debug messages
  • Improved FAQ, removed typos
  • Replaced screenshots

2.1.15

  • Improved user interface with tabs
  • Changed function to test SSL test page from file_get_contents to curl, as this improves response time, which might prevent “no SSL messages”
  • Extended the mixed content fixer to replace src=”http:// links, as these should always be https on an SSL site.
  • Added an error message in case of force rewrite titles in Yoast SEO plugin is used, as this prevents the plugin from fixing mixed content

2.1.14

  • Added support for loadbalancer and is_ssl() returning false: in that case a wp-config fix is needed.
  • Improved performance
  • Added debugging option, so a trace log can be viewed
  • Fixed a bug where the rlrsssl_replace_url_args filter was not applied correctly.

2.1.13

  • Fixed an issue where in some configurations the replace url filter did not fire

2.1.12

  • Added the force SSL option, in cases where SSL could not be detected for some reason.
  • Added a test to check if the proposed .htaccess rules will work in the current environment.
  • Readded HSTS to the htaccess rules, but now as an option. Adding this should be done only when you are sure you do not want to revert back to http.

2.1.11

  • Improved instructions regarding uninstalling when locked out of back-end

2.1.10

  • Removed HSTS headers, because it is difficult to roll back.

2.1.9

  • Added the possibility to prevent htaccess from being edited, in case of redirect loop.

2.1.7

  • Refined SSL detection
  • Bugfix on deactivation of plugin

2.1.6

  • Fixed an SSL detection issue which could lead to redirect loop

2.1.4

  • Improved redirect rules for .htaccess

2.1.3

  • Now plugin only changes .htaccess when one of three preprogrammed ssl types was recognized.
  • Simplified filter use to add your own urls to replace, see f.a.q.
  • Default javascript redirect when .htaccess redirect does not succeed

2.1.2

  • Fixed bug where number of options with mixed content was not displayed correctly

2.1.1

  • limited the number of files, posts and options that can be show at once in the mixed content scan.

2.1.0

  • Added version control to the .htaccess rules, so the .htaccess gets updated as well.
  • Added detection of loadbalancer and cdn so .htaccess rules can be adapted accordingly. Fixes some redirect loop issues.
  • Added the possibility to disable the auto replace of insecure links
  • Added a scan to scan the website for insecure links
  • Added detection of in wp-config.php defined siteurl and homeurl, which could prevent from successful url change.
  • Dropped the force ssl option (used when not ssl detected)
  • Thanks to Peter Tak, PTA security for mentioning the owasp security best practice https://www.owasp.org/index.php/HTTP_Strict_Transport_Security in .htaccess,

2.0.7

  • Added 301 redirect to .htaccess for seo purposes

2.0.3

  • Fixed some typos in readme
  • added screenshots
  • fixed a bug where on deactivation the https wasn’t removed from siturl and homeurl

2.0.0

  • Added SSL detection by opening a page in the plugin directory over https
  • Added https redirection in .htaccess, when possible
  • Added warnings and messages to improve user experience
  • Added automatic change of siteurl and homeurl to https, to make backend ssl proof.
  • Added caching flush support for WP fastest cache, Zen Cache and W3TC
  • Fixed bug where siteurl was used as url to fix instead of homeurl
  • Fixed issue where url was not replaced on front end, when used url in content is different from home url (e.g. http://www.domain.com as homeurl and http://domain.com in content)
  • Added filter so you can add cdn urls to the replacement script
  • Added googleapis.com/ajax cdn to standard replacement script, as it is often used without https.

1.0.3

  • Improved installation instructions