Skip to content
FixSecurityHeadersScan a site

How to add X-Content-Type-Options on Apache

Last updated · Reviewed by a CISSP-certified security practitioner

To add X-Content-Type-Options on Apache, set the header in .htaccess or httpd.conf with the value nosniff. Stops browsers from guessing (sniffing) file types. Run apachectl configtest, then reload Apache. Then confirm it with curl -I or a free FixSecurityHeaders scan.

What does X-Content-Type-Options do?

Setting nosniff makes the browser trust the Content-Type you send instead of guessing, so an uploaded text file can't be executed as script.

Risk if missing: MIME sniffing can turn user uploads or JSON responses into executable scripts or styles.

What is the Apache configuration?

Add this to .htaccess or httpd.conf:

.htaccess or httpd.conf
<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
</IfModule>

How do I add it step by step?

  1. Open .htaccess or httpd.conf.
  2. Paste the X-Content-Type-Options configuration shown below.
  3. Run apachectl configtest, then reload Apache.
  4. Run curl -I https://yourdomain.com and look for the x-content-type-options line.
  5. Scan your site on FixSecurityHeaders to confirm the grade improved.

How do I verify it worked?

terminal
curl -sI https://yourdomain.com | grep -i "x-content-type-options"
# expected:
# x-content-type-options: nosniff

Check your site now

Free scan, instant grade, exact fixes for your stack.

What are the common mistakes?

  • Make sure your server sends correct Content-Type headers, or some assets will stop loading.
  • mod_headers must be enabled (a2enmod headers).
  • Use Header always set so headers apply to redirects and errors too.

Quick reference

HeaderX-Content-Type-Options
Recommended valuenosniff
StackApache
Where.htaccess or httpd.conf
ComplianceOWASP ASVS V14.4.4, SOC 2 CC6.8

FAQ

What value should I use for X-Content-Type-Options?

A safe default is nosniff. Make sure your server sends correct Content-Type headers, or some assets will stop loading.

Why isn't X-Content-Type-Options showing up on Apache?

mod_headers must be enabled (a2enmod headers). Also clear any CDN or page cache, and check you edited the config that actually serves your domain.

Does X-Content-Type-Options affect SEO or performance?

No measurable performance cost — it's a few bytes per response. It doesn't affect rankings directly, but a misconfigured policy can break page resources, so test before enforcing.

Which compliance frameworks reference X-Content-Type-Options?

OWASP ASVS V14.4.4, SOC 2 CC6.8.

Related guides